library("FRESA.CAD")
library(readxl)
library(igraph)
op <- par(no.readonly = TRUE)
pander::panderOptions('digits', 3)
pander::panderOptions('table.split.table', 400)
pander::panderOptions('keep.trailing.zeros',TRUE)
TADPOLE_D1_D2 <- read.csv("~/GitHub/BSWiMS/Data/TADPOLE/TADPOLE_D1_D2.csv")
TADPOLE_D1_D2_Dict <- read.csv("~/GitHub/BSWiMS/Data/TADPOLE/TADPOLE_D1_D2_Dict.csv")
TADPOLE_D1_D2_Dict_LR <- as.data.frame(read_excel("~/GitHub/BSWiMS/Data/TADPOLE/TADPOLE_D1_D2_Dict_LR.xlsx",sheet = "LeftRightFeatures"))
rownames(TADPOLE_D1_D2_Dict) <- TADPOLE_D1_D2_Dict$FLDNAME
# mm3 to mm
isVolume <- c("Ventricles","Hippocampus","WholeBrain","Entorhinal","Fusiform","MidTemp","ICV",
TADPOLE_D1_D2_Dict$FLDNAME[str_detect(TADPOLE_D1_D2_Dict$TEXT,"Volume")]
)
#TADPOLE_D1_D2[,isVolume] <- apply(TADPOLE_D1_D2[,isVolume],2,'^',(1/3))
TADPOLE_D1_D2[,isVolume] <- TADPOLE_D1_D2[,isVolume]^(1/3)
# mm2 to mm
isArea <- TADPOLE_D1_D2_Dict$FLDNAME[str_detect(TADPOLE_D1_D2_Dict$TEXT,"Area")]
TADPOLE_D1_D2[,isArea] <- sqrt(TADPOLE_D1_D2[,isArea])
# Get only cross sectional measurements
FreeSurfersetCross <- str_detect(colnames(TADPOLE_D1_D2),"UCSFFSX")
# The subset of baseline measurements
baselineTadpole <- subset(TADPOLE_D1_D2,VISCODE=="bl")
table(baselineTadpole$DX)
Dementia Dementia to MCI MCI MCI to Dementia
7 336 1 864 5
MCI to NL NL NL to MCI
2 521 1
rownames(baselineTadpole) <- baselineTadpole$PTID
validBaselineTadpole <- cbind(DX=baselineTadpole$DX,
AGE=baselineTadpole$AGE,
Gender=1*(baselineTadpole$PTGENDER=="Female"),
ADAS11=baselineTadpole$ADAS11,
ADAS13=baselineTadpole$ADAS13,
MMSE=baselineTadpole$MMSE,
RAVLT_immediate=baselineTadpole$RAVLT_immediate,
RAVLT_learning=baselineTadpole$RAVLT_learning,
RAVLT_forgetting=baselineTadpole$RAVLT_forgetting,
RAVLT_perc_forgetting=baselineTadpole$RAVLT_perc_forgetting,
FAQ=baselineTadpole$FAQ,
Ventricles=baselineTadpole$Ventricles,
Hippocampus=baselineTadpole$Hippocampus,
WholeBrain=baselineTadpole$WholeBrain,
Entorhinal=baselineTadpole$Entorhinal,
Fusiform=baselineTadpole$Fusiform,
MidTemp=baselineTadpole$MidTemp,
ICV=baselineTadpole$ICV,
baselineTadpole[,FreeSurfersetCross])
LeftFields <- TADPOLE_D1_D2_Dict_LR$LFN
names(LeftFields) <- LeftFields
LeftFields <- LeftFields[LeftFields %in% colnames(validBaselineTadpole)]
RightFields <- TADPOLE_D1_D2_Dict_LR$RFN
names(RightFields) <- RightFields
RightFields <- RightFields[RightFields %in% colnames(validBaselineTadpole)]
## Normalize to ICV
validBaselineTadpole$Ventricles=validBaselineTadpole$Ventricles/validBaselineTadpole$ICV
validBaselineTadpole$Hippocampus=validBaselineTadpole$Hippocampus/validBaselineTadpole$ICV
validBaselineTadpole$WholeBrain=validBaselineTadpole$WholeBrain/validBaselineTadpole$ICV
validBaselineTadpole$Entorhinal=validBaselineTadpole$Entorhinal/validBaselineTadpole$ICV
validBaselineTadpole$Fusiform=validBaselineTadpole$Fusiform/validBaselineTadpole$ICV
validBaselineTadpole$MidTemp=validBaselineTadpole$MidTemp/validBaselineTadpole$ICV
leftData <- validBaselineTadpole[,LeftFields]/validBaselineTadpole$ICV
RightData <- validBaselineTadpole[,RightFields]/validBaselineTadpole$ICV
## get mean and relative difference
meanLeftRight <- (leftData + RightData)/2
difLeftRight <- abs(leftData - RightData)
reldifLeftRight <- difLeftRight/meanLeftRight
colnames(meanLeftRight) <- paste("M",colnames(meanLeftRight),sep="_")
colnames(difLeftRight) <- paste("D",colnames(difLeftRight),sep="_")
colnames(reldifLeftRight) <- paste("RD",colnames(reldifLeftRight),sep="_")
validBaselineTadpole <- validBaselineTadpole[,!(colnames(validBaselineTadpole) %in%
c(LeftFields,RightFields))]
validBaselineTadpole <- cbind(validBaselineTadpole,meanLeftRight,reldifLeftRight)
## Remove columns with too many NA more than %15 of NA
nacount <- apply(is.na(validBaselineTadpole),2,sum)/nrow(validBaselineTadpole) < 0.15
diagnose <- validBaselineTadpole$DX
pander::pander(table(diagnose))
| Dementia | Dementia to MCI | MCI | MCI to Dementia | MCI to NL | NL | NL to MCI | |
|---|---|---|---|---|---|---|---|
| 7 | 336 | 1 | 864 | 5 | 2 | 521 | 1 |
validBaselineTadpole <- validBaselineTadpole[,nacount]
## Remove character columns
ischar <- sapply(validBaselineTadpole,class) == "character"
validBaselineTadpole <- validBaselineTadpole[,!ischar]
## Place back diagnose
validBaselineTadpole$DX <- diagnose
validBaselineTadpole <- validBaselineTadpole[complete.cases(validBaselineTadpole),]
ischar <- sapply(validBaselineTadpole,class) == "character"
validBaselineTadpole[,!ischar] <- sapply(validBaselineTadpole[,!ischar],as.numeric)
colnames(validBaselineTadpole) <- str_remove_all(colnames(validBaselineTadpole),"_UCSFFSX_11_02_15_UCSFFSX51_08_01_16")
colnames(validBaselineTadpole) <- str_replace_all(colnames(validBaselineTadpole)," ","_")
validBaselineTadpole$LONISID <- NULL
validBaselineTadpole$IMAGEUID <- NULL
validBaselineTadpole$LONIUID <- NULL
diagnose <- as.character(validBaselineTadpole$DX)
validBaselineTadpole$DX <- diagnose
pander::pander(table(validBaselineTadpole$DX))
| Dementia | Dementia to MCI | MCI | MCI to Dementia | MCI to NL | NL | NL to MCI |
|---|---|---|---|---|---|---|
| 244 | 1 | 711 | 2 | 2 | 452 | 1 |
validDX <- c("NL","MCI","Dementia")
validBaselineTadpole <- validBaselineTadpole[validBaselineTadpole$DX %in% validDX,]
validBaselineTadpole$DX <- as.factor(validBaselineTadpole$DX)
pander::pander(table(validBaselineTadpole$DX))
| Dementia | MCI | NL |
|---|---|---|
| 244 | 711 | 452 |
subjectsID <- rownames(validBaselineTadpole)
visitsID <- unique(TADPOLE_D1_D2$VISCODE)
baseDx <- TADPOLE_D1_D2[TADPOLE_D1_D2$VISCODE=="bl",c("PTID","DX","EXAMDATE")]
rownames(baseDx) <- baseDx$PTID
baseDx <- baseDx[subjectsID,]
lastDx <- baseDx
toDementia <- baseDx
table(lastDx$DX)
Dementia MCI NL 244 711 452
hasDementia <- lastDx$PTID[str_detect(lastDx$DX,"Dementia")]
for (vid in visitsID)
{
DxValue <- TADPOLE_D1_D2[TADPOLE_D1_D2$VISCODE==vid,c("PTID","DX","EXAMDATE")]
rownames(DxValue) <- DxValue$PTID
DxValue <- DxValue[DxValue$PTID %in% subjectsID,]
noDX <- DxValue$PTID[nchar(DxValue$DX) < 1]
print(length(noDX))
DxValue[noDX,] <- lastDx[noDX,]
inLast <- lastDx$PTID[lastDx$PTID %in% DxValue$PTID]
print(length(inLast))
lastDx[inLast,] <- DxValue[inLast,]
noDementia <- !(toDementia$PTID %in% hasDementia)
toDementia[noDementia,] <- lastDx[noDementia,]
hasDementia <- unique(c(hasDementia,lastDx$PTID[str_detect(lastDx$DX,"Dementia")]))
}
[1] 0 [1] 1407 [1] 2 [1] 1320 [1] 6 [1] 1212 [1] 23 [1] 1090 [1] 802 [1] 1054 [1] 29 [1] 706 [1] 20 [1] 212 [1] 14 [1] 167 [1] 32 [1] 551 [1] 25 [1] 297 [1] 18 [1] 130 [1] 665 [1] 665 [1] 112 [1] 112 [1] 176 [1] 176 [1] 177 [1] 177 [1] 624 [1] 624 [1] 251 [1] 251 [1] 159 [1] 159 [1] 7 [1] 7 [1] 17 [1] 99 [1] 9 [1] 63 [1] 1 [1] 1
table(lastDx$DX)
Dementia Dementia to MCI MCI MCI to Dementia MCI to NL
426 2 460 80 7
NL NL to Dementia NL to MCI
405 1 26
baseMCI <-baseDx$PTID[baseDx$DX == "MCI"]
lastDementia <- lastDx$PTID[str_detect(lastDx$DX,"Dementia")]
lastDementia2 <- toDementia$PTID[str_detect(toDementia$DX,"Dementia")]
lastNL <- lastDx$PTID[str_detect(lastDx$DX,"NL")]
MCIatBaseline <- baseDx[baseMCI,]
MCIatEvent <- toDementia[baseMCI,]
MCIatLast <- lastDx[baseMCI,]
MCIconverters <- MCIatBaseline[baseMCI %in% lastDementia,]
MCI_No_converters <- MCIatBaseline[!(baseMCI %in% MCIconverters$PTID),]
MCIconverters$TimeToEvent <- (as.Date(toDementia[MCIconverters$PTID,"EXAMDATE"])
- as.Date(MCIconverters$EXAMDATE))
sum(MCIconverters$TimeToEvent ==0)
[1] 0
MCIconverters$AtEventDX <- MCIatEvent[MCIconverters$PTID,"DX"]
MCIconverters$LastDX <- MCIatLast[MCIconverters$PTID,"DX"]
MCI_No_converters$TimeToEvent <- (as.Date(lastDx[MCI_No_converters$PTID,"EXAMDATE"])
- as.Date(MCI_No_converters$EXAMDATE))
MCI_No_converters$LastDX <- MCIatLast[MCI_No_converters$PTID,"DX"]
MCI_No_converters <- subset(MCI_No_converters,TimeToEvent > 0)
The heat map of the testing set.
cormat <- cor(validBaselineTadpole[,colnames(validBaselineTadpole) != "DX"],method="spearman")
diag(cormat) <- 0;
corrmax <- apply(cormat,2,max)
whomax <- colnames(cormat)[corrmax>0.75]
gplots::heatmap.2(abs(cormat[whomax,whomax]),
trace = "none",
scale = "none",
mar = c(10,10),
col=rev(heat.colors(5)),
main = "Baseline TADPOLE Correlation",
cexRow = 0.5,
cexCol = 0.5,
key.title=NA,
key.xlab="Spearman Correlation",
xlab="Feature", ylab="Feature")
par(op)
Here we will diagnose ADAS13
TrainFraction <- 0.5;
TADPOLECrossMRI <- validBaselineTadpole
summary(TADPOLECrossMRI$ADAS13)
Min. 1st Qu. Median Mean 3rd Qu. Max. 0.00 9.00 14.67 16.37 22.00 51.00
TADPOLECrossMRI$ADAS11 <- NULL
TADPOLECrossMRI$MMSE <- NULL
TADPOLECrossMRI$RAVLT_immediate <- NULL
TADPOLECrossMRI$RAVLT_learning <- NULL
TADPOLECrossMRI$RAVLT_perc_forgetting <- NULL
TADPOLECrossMRI$RAVLT_forgetting <- NULL
TADPOLECrossMRI$FAQ <- NULL
TADPOLECrossMRI$DX <- NULL
trainSet <- sample(nrow(TADPOLECrossMRI),nrow(TADPOLECrossMRI)*TrainFraction)
TADPOLECrossMRITrain <- TADPOLECrossMRI[trainSet,]
TADPOLECrossMRITest <- TADPOLECrossMRI[-trainSet,]
bml <- BSWiMS.model(ADAS13~.,TADPOLECrossMRITrain,maxTrainModelSize=50,NumberofRepeats = 20)
[++-+-++-++-++-++-+-+-+-+-++-+-+-+-+-+–+–+-+-++-]..
plot(bml$bagging$avgLogPvalues,bml$bagging$bagged.model$baggingAnalysis$dMSE_values)
#bml$bagging$bagged.model$wts.List
#bml$bagging$bagged.model$baggingAnalysis$wts
pander::pander(bml$bagging$Jaccard.SM)
0.366
fs <- bml$bagging$frequencyTable
barplot(fs[order(-fs)],las=2,main="Selected Features",cex.names = 0.5)
sm <- summary(bml)
sm$MSE
[1] 44.37987
pander::pander(sm$coefficients)
| Estimate | lower | mean | upper | u.MSE | r.MSE | model.MSE | NeRI | F.pvalue | t.pvalue | Sign.pvalue | Wilcox.pvalue | %VarExp | Frequency | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Hippocampus | -149.7432 | -210.157 | -149.7432 | -8.93e+01 | 66.5 | 50.7 | 47.8 | 0.05932 | 0.00e+00 | 6.25e-05 | 0.04588 | 5.01e-03 | 0.03056 | 1.00 |
| M_ST24CV | -283.8614 | -369.063 | -283.8614 | -1.99e+02 | 68.5 | 54.7 | 48.9 | 0.10295 | 0.00e+00 | 1.29e-08 | 0.00174 | 6.69e-05 | 0.06017 | 1.00 |
| M_ST31TA | -358.9971 | -513.816 | -358.9971 | -2.04e+02 | 80.9 | 54.4 | 50.5 | 0.05349 | 1.31e-13 | 7.66e-05 | 0.07886 | 9.00e-03 | 0.04098 | 0.10 |
| M_ST24TA | -264.3159 | -421.053 | -264.3159 | -1.08e+02 | 63.9 | 49.1 | 46.9 | 0.06421 | 9.06e-09 | 6.21e-04 | 0.04245 | 1.54e-02 | 0.02240 | 0.95 |
| M_ST60CV | 85.1582 | 27.387 | 85.1582 | 1.43e+02 | 88.6 | 48.5 | 46.8 | 0.00977 | 5.42e-07 | 4.00e-02 | 0.37029 | 1.66e-01 | 0.01670 | 0.75 |
| M_ST51TA | 60.6724 | 19.158 | 60.6724 | 1.02e+02 | 92.3 | 47.5 | 46.0 | 0.00618 | 6.23e-07 | 3.69e-01 | 0.53640 | 4.67e-01 | 0.01608 | 0.10 |
| M_ST40TA | -350.0541 | -597.735 | -350.0541 | -1.02e+02 | 73.8 | 52.2 | 50.6 | 0.05602 | 1.14e-06 | 3.31e-02 | 0.06814 | 4.61e-02 | 0.01684 | 0.25 |
| M_ST30SV | 52.4153 | 15.133 | 52.4153 | 8.97e+01 | 71.5 | 48.4 | 46.9 | 0.08155 | 1.24e-06 | 3.25e-03 | 0.01378 | 1.58e-02 | 0.01547 | 1.00 |
| M_ST24SA | 31.6447 | 6.909 | 31.6447 | 5.64e+01 | 95.2 | 51.4 | 49.8 | 0.07605 | 1.39e-06 | 4.16e-05 | 0.02171 | 3.05e-03 | 0.01641 | 0.25 |
| M_ST51CV | 20.7792 | 4.162 | 20.7792 | 3.74e+01 | 93.5 | 51.5 | 50.1 | 0.03220 | 5.42e-06 | 7.61e-02 | 0.20469 | 1.78e-01 | 0.01438 | 0.10 |
| M_ST56TA | -89.7854 | -160.511 | -89.7854 | -1.91e+01 | 86.7 | 46.9 | 45.7 | 0.01291 | 9.33e-06 | 1.03e-01 | 0.29347 | 1.94e-01 | 0.01240 | 0.15 |
| RD_ST31TA | 13.3925 | 2.637 | 13.3925 | 2.41e+01 | 89.3 | 48.1 | 46.9 | 0.06955 | 1.12e-05 | 7.31e-03 | 0.03309 | 6.14e-02 | 0.01250 | 0.95 |
| AGE | -0.0676 | -0.123 | -0.0676 | -1.23e-02 | 95.5 | 48.0 | 46.8 | 0.02879 | 1.68e-05 | 1.86e-03 | 0.21585 | 5.24e-02 | 0.01195 | 0.75 |
| M_ST31CV | -31.1982 | -56.297 | -31.1982 | -6.10e+00 | 78.7 | 50.5 | 49.3 | 0.04933 | 1.96e-05 | 7.64e-03 | 0.09068 | 5.13e-02 | 0.01230 | 0.30 |
| M_ST40SA | -13.7941 | -25.402 | -13.7941 | -2.19e+00 | 87.1 | 52.0 | 50.8 | 0.03356 | 2.40e-05 | 1.76e-02 | 0.19417 | 6.40e-02 | 0.01243 | 0.15 |
| M_ST12SV | -29.2047 | -55.363 | -29.2047 | -3.05e+00 | 71.6 | 52.3 | 51.1 | 0.03954 | 2.94e-05 | 3.55e-02 | 0.15555 | 7.31e-02 | 0.01222 | 0.10 |
| M_ST40CV | -75.5757 | -140.070 | -75.5757 | -1.11e+01 | 70.8 | 48.0 | 46.9 | 0.04585 | 3.34e-05 | 1.98e-02 | 0.10197 | 6.54e-02 | 0.01116 | 1.00 |
| M_ST129TS | 734.2100 | 63.601 | 734.2100 | 1.40e+03 | 95.1 | 49.6 | 48.5 | 0.03896 | 4.22e-05 | 6.67e-03 | 0.15425 | 3.41e-02 | 0.01113 | 0.75 |
| ST2SV | -0.3445 | -0.673 | -0.3445 | -1.57e-02 | 92.8 | 51.5 | 50.5 | 0.03435 | 6.87e-05 | 6.10e-02 | 0.17434 | 1.20e-01 | 0.01084 | 0.15 |
| M_ST62TA | 176.8440 | 10.859 | 176.8440 | 3.43e+02 | 94.5 | 50.7 | 49.7 | 0.02988 | 7.82e-05 | 1.06e-01 | 0.21608 | 1.54e-01 | 0.01064 | 0.30 |
| RD_ST40CV | 12.6473 | 0.692 | 12.6473 | 2.46e+01 | 90.6 | 47.7 | 46.8 | 0.05949 | 1.03e-04 | 1.07e-02 | 0.05615 | 4.56e-02 | 0.00954 | 0.90 |
| RD_ST59SA | -12.2523 | -23.944 | -12.2523 | -5.61e-01 | 97.0 | 48.8 | 47.9 | 0.01841 | 1.07e-04 | 8.41e-02 | 0.32911 | 2.06e-01 | 0.00972 | 0.80 |
| RD_ST129TA | 2.5023 | 0.119 | 2.5023 | 4.89e+00 | 93.0 | 50.9 | 50.0 | 0.04694 | 1.20e-04 | 6.06e-02 | 0.11372 | 1.45e-01 | 0.00996 | 0.05 |
| M_ST56TS | 342.4211 | -9.562 | 342.4211 | 6.94e+02 | 95.1 | 50.5 | 49.6 | 0.02067 | 1.29e-04 | 6.52e-02 | 0.27752 | 1.70e-01 | 0.00984 | 0.20 |
| M_ST49TS | 45.0263 | 1.743 | 45.0263 | 8.83e+01 | 96.3 | 48.7 | 47.7 | 0.08962 | 1.33e-04 | 3.26e-03 | 0.00965 | 2.36e-02 | 0.00938 | 0.05 |
| M_ST60SA | 38.0636 | 4.099 | 38.0636 | 7.20e+01 | 96.0 | 50.9 | 49.9 | 0.03652 | 1.45e-04 | 3.05e-02 | 0.15264 | 1.06e-01 | 0.00971 | 0.45 |
| M_ST35TA | 191.2065 | -0.476 | 191.2065 | 3.83e+02 | 89.9 | 51.4 | 50.5 | 0.03824 | 2.05e-04 | 6.23e-02 | 0.16414 | 1.96e-01 | 0.00929 | 0.10 |
| M_ST61SV | 41.9162 | -2.011 | 41.9162 | 8.58e+01 | 95.4 | 51.0 | 50.1 | 0.05985 | 2.19e-04 | 3.06e-02 | 0.05984 | 5.35e-02 | 0.00916 | 0.15 |
| M_ST55CV | -10.0714 | -20.277 | -10.0714 | 1.34e-01 | 85.4 | 47.6 | 46.8 | 0.04711 | 2.34e-04 | 3.45e-02 | 0.11165 | 8.86e-02 | 0.00845 | 0.15 |
| RD_ST14TS | -0.3893 | -0.789 | -0.3893 | 9.96e-03 | 95.6 | 48.1 | 47.3 | 0.00595 | 2.63e-04 | 3.29e-02 | 0.45199 | 2.62e-01 | 0.00838 | 0.10 |
| M_ST55SA | -6.5188 | -13.185 | -6.5188 | 1.47e-01 | 94.5 | 50.1 | 49.3 | 0.05255 | 2.63e-04 | 1.63e-02 | 0.07364 | 4.46e-02 | 0.00875 | 0.15 |
| RD_ST52TA | 5.5492 | -0.698 | 5.5492 | 1.18e+01 | 93.2 | 50.8 | 50.0 | 0.02550 | 2.64e-04 | 3.92e-02 | 0.26146 | 1.30e-01 | 0.00891 | 0.15 |
| M_ST15CV | -11.3999 | -23.523 | -11.3999 | 7.23e-01 | 88.6 | 50.7 | 49.9 | 0.06686 | 3.79e-04 | 1.08e-02 | 0.04134 | 5.71e-02 | 0.00835 | 0.05 |
| M_ST32CV | -21.2796 | -44.120 | -21.2796 | 1.56e+00 | 74.9 | 51.2 | 50.4 | 0.03964 | 4.00e-04 | 1.64e-02 | 0.15463 | 6.28e-02 | 0.00835 | 0.10 |
| M_ST60TS | 146.9471 | -10.105 | 146.9471 | 3.04e+02 | 93.0 | 51.2 | 50.4 | 0.00748 | 4.04e-04 | 4.45e-02 | 0.58095 | 1.75e-01 | 0.00835 | 0.10 |
| RD_ST40TA | 5.7991 | -0.528 | 5.7991 | 1.21e+01 | 87.0 | 51.5 | 50.7 | 0.08337 | 4.58e-04 | 9.26e-03 | 0.01102 | 1.50e-02 | 0.00821 | 0.20 |
| Ventricles | -6.9694 | -14.695 | -6.9694 | 7.57e-01 | 86.3 | 47.3 | 46.5 | 0.04350 | 5.03e-04 | 3.12e-03 | 0.12402 | 2.91e-02 | 0.00743 | 0.45 |
| RD_ST57TA | 14.1947 | -1.982 | 14.1947 | 3.04e+01 | 91.7 | 50.6 | 49.9 | 0.05413 | 6.32e-04 | 4.50e-02 | 0.07549 | 4.46e-02 | 0.00766 | 0.40 |
| RD_ST24TA | 1.3081 | -0.688 | 1.3081 | 3.30e+00 | 89.5 | 50.9 | 50.4 | 0.02814 | 4.92e-03 | 2.18e-01 | 0.23612 | 2.35e-01 | 0.00494 | 0.10 |
| M_ST23CV | 17.9270 | -9.340 | 17.9270 | 4.52e+01 | 95.4 | 51.5 | 51.0 | 0.04450 | 5.07e-03 | 3.13e-01 | 0.11307 | 2.71e-01 | 0.00505 | 0.10 |
| RD_ST56TA | 12.0381 | -7.646 | 12.0381 | 3.17e+01 | 94.4 | 50.4 | 50.0 | -0.03626 | 6.50e-03 | 5.37e-01 | 1.00000 | 5.83e-01 | 0.00456 | 0.40 |
| WholeBrain | -3.7858 | -11.958 | -3.7858 | 4.39e+00 | 80.1 | 50.2 | 49.9 | 0.00711 | 1.98e-02 | 5.13e-01 | 0.44005 | 5.67e-01 | 0.00310 | 0.05 |
pander::pander(bml$univariate[bml$selectedfeatures,])
| Name | RName | ZUni | |
|---|---|---|---|
| Ventricles | Ventricles | Ventricles | Inf |
| M_ST24TA | M_ST24TA | M_ST24TA | Inf |
| M_ST40CV | M_ST40CV | M_ST40CV | Inf |
| M_ST30SV | M_ST30SV | M_ST30SV | Inf |
| Hippocampus | Hippocampus | Hippocampus | Inf |
| RD_ST31TA | RD_ST31TA | RD_ST31TA | 7.71 |
| M_ST24CV | M_ST24CV | M_ST24CV | Inf |
| RD_ST40CV | RD_ST40CV | RD_ST40CV | 7.01 |
| RD_ST59SA | RD_ST59SA | RD_ST59SA | 1.15 |
| M_ST60CV | M_ST60CV | M_ST60CV | 8.04 |
| M_ST55CV | M_ST55CV | M_ST55CV | Inf |
| M_ST51TA | M_ST51TA | M_ST51TA | 6.00 |
| AGE | AGE | AGE | 3.47 |
| M_ST129TS | M_ST129TS | M_ST129TS | 3.87 |
| M_ST49TS | M_ST49TS | M_ST49TS | 2.53 |
| RD_ST14TS | RD_ST14TS | RD_ST14TS | 3.38 |
| M_ST56TA | M_ST56TA | M_ST56TA | Inf |
| RD_ST56TA | RD_ST56TA | RD_ST56TA | 4.51 |
| M_ST62TA | M_ST62TA | M_ST62TA | 4.40 |
| M_ST31CV | M_ST31CV | M_ST31CV | Inf |
| WholeBrain | WholeBrain | WholeBrain | Inf |
| RD_ST24TA | RD_ST24TA | RD_ST24TA | 7.57 |
| M_ST24SA | M_ST24SA | M_ST24SA | 3.74 |
| M_ST60SA | M_ST60SA | M_ST60SA | 2.84 |
| M_ST56TS | M_ST56TS | M_ST56TS | 3.86 |
| M_ST40TA | M_ST40TA | M_ST40TA | Inf |
| RD_ST57TA | RD_ST57TA | RD_ST57TA | 6.36 |
| RD_ST52TA | RD_ST52TA | RD_ST52TA | 5.41 |
| M_ST12SV | M_ST12SV | M_ST12SV | Inf |
| M_ST32CV | M_ST32CV | M_ST32CV | Inf |
| M_ST60TS | M_ST60TS | M_ST60TS | 5.52 |
| M_ST61SV | M_ST61SV | M_ST61SV | 3.60 |
| M_ST51CV | M_ST51CV | M_ST51CV | 5.21 |
| M_ST23CV | M_ST23CV | M_ST23CV | 3.58 |
| M_ST31TA | M_ST31TA | M_ST31TA | Inf |
| ST2SV | ST2SV | ST2SV | 5.69 |
| M_ST55SA | M_ST55SA | M_ST55SA | 4.38 |
| RD_ST40TA | RD_ST40TA | RD_ST40TA | Inf |
| M_ST40SA | M_ST40SA | M_ST40SA | Inf |
| M_ST35TA | M_ST35TA | M_ST35TA | 7.40 |
| M_ST15CV | M_ST15CV | M_ST15CV | 8.08 |
| RD_ST129TA | RD_ST129TA | RD_ST129TA | 5.55 |
prreg <- predictionStats_regression(cbind(TADPOLECrossMRITest$ADAS13,predict(bml,TADPOLECrossMRITest)),"ADAS13")
ADAS13
pander::pander(prreg)
corci:
| cor | ||
|---|---|---|
| 0.725 | 0.688 | 0.758 |
biasci: 1.010, 0.551 and 1.469
RMSEci: 6.28, 5.97 and 6.63
spearmanci:
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.676 | 0.629 | 0.718 |
MAEci:
| 50% | 2.5% | 97.5% |
|---|---|---|
| 4.93 | 4.65 | 5.23 |
pearson:
| Test statistic | df | P value | Alternative hypothesis | cor |
|---|---|---|---|---|
| 27.9 | 702 | 8.24e-116 * * * | two.sided | 0.725 |
par(op)
cmax <- apply(bml$bagging$formulaNetwork,2,max)
cnames <- names(cmax[cmax>=0.250])
cmax <- cmax[cnames]
adma <- bml$bagging$formulaNetwork[cnames,cnames]
adma[adma<0.15] <- 0;
gr <- graph_from_adjacency_matrix(adma,mode = "undirected",diag = FALSE,weighted=TRUE)
gr$layout <- layout_with_fr
fc <- cluster_optimal(gr)
plot(fc, gr,
edge.width=5*E(gr)$weight,
vertex.size=20*cmax,
vertex.label.cex=0.5,
vertex.label.dist=0,
main="ADAS13 Feature Association")
par(op)
clusterFeatures <- fc$names
tableADAS13 <- sm$coefficients[clusterFeatures,
c("Estimate",
"lower",
"mean",
"upper",
"model.MSE",
"%VarExp",
"F.pvalue",
"Frequency")]
nugget <- fc$membership
names(nugget) <- clusterFeatures
tableADAS13$Cluster <- nugget[rownames(tableADAS13)]
rnames <- clusterFeatures[str_detect(clusterFeatures,"ST")]
frnames <- rnames
rnames <- str_replace_all(rnames,"M_","")
rnames <- str_replace_all(rnames,"RD_","")
description <- character()
for (ddet in c(1:length(rnames)))
{
description <- c(description,TADPOLE_D1_D2_Dict$TEXT[str_detect(TADPOLE_D1_D2_Dict$FLDNAME,rnames[ddet])][1])
}
names(description) <- frnames
tableADAS13$Description <- description[rownames(tableADAS13)]
pander::pander(tableADAS13)
| Estimate | lower | mean | upper | model.MSE | %VarExp | F.pvalue | Frequency | Cluster | Description | |
|---|---|---|---|---|---|---|---|---|---|---|
| Ventricles | -6.9694 | -14.695 | -6.9694 | 0.7568 | 46.5 | 0.00743 | 5.03e-04 | 0.45 | 1 | NA |
| M_ST24TA | -264.3159 | -421.053 | -264.3159 | -107.5783 | 46.9 | 0.02240 | 9.06e-09 | 0.95 | 1 | Cortical Thickness Average of LeftEntorhinal |
| M_ST40CV | -75.5757 | -140.070 | -75.5757 | -11.0816 | 46.9 | 0.01116 | 3.34e-05 | 1.00 | 1 | Volume (Cortical Parcellation) of LeftMiddleTemporal |
| M_ST30SV | 52.4153 | 15.133 | 52.4153 | 89.6976 | 46.9 | 0.01547 | 1.24e-06 | 1.00 | 1 | Volume (WM Parcellation) of LeftInferiorLateralVentricle |
| Hippocampus | -149.7432 | -210.157 | -149.7432 | -89.3298 | 47.8 | 0.03056 | 0.00e+00 | 1.00 | 1 | NA |
| RD_ST31TA | 13.3925 | 2.637 | 13.3925 | 24.1479 | 46.9 | 0.01250 | 1.12e-05 | 0.95 | 1 | Cortical Thickness Average of LeftInferiorParietal |
| M_ST24CV | -283.8614 | -369.063 | -283.8614 | -198.6597 | 48.9 | 0.06017 | 0.00e+00 | 1.00 | 2 | Volume (Cortical Parcellation) of LeftEntorhinal |
| RD_ST40CV | 12.6473 | 0.692 | 12.6473 | 24.6030 | 46.8 | 0.00954 | 1.03e-04 | 0.90 | 1 | Volume (Cortical Parcellation) of LeftMiddleTemporal |
| RD_ST59SA | -12.2523 | -23.944 | -12.2523 | -0.5609 | 47.9 | 0.00972 | 1.07e-04 | 0.80 | 1 | Surface Area of LeftSupramarginal |
| M_ST60CV | 85.1582 | 27.387 | 85.1582 | 142.9291 | 46.8 | 0.01670 | 5.42e-07 | 0.75 | 1 | Volume (Cortical Parcellation) of LeftTemporalPole |
| AGE | -0.0676 | -0.123 | -0.0676 | -0.0123 | 46.8 | 0.01195 | 1.68e-05 | 0.75 | 1 | NA |
| M_ST129TS | 734.2100 | 63.601 | 734.2100 | 1404.8191 | 48.5 | 0.01113 | 4.22e-05 | 0.75 | 2 | Cortical Thickness Standard Deviation of LeftInsula |
| RD_ST56TA | 12.0381 | -7.646 | 12.0381 | 31.7221 | 50.0 | 0.00456 | 6.50e-03 | 0.40 | 2 | Cortical Thickness Average of LeftSuperiorFrontal |
| M_ST62TA | 176.8440 | 10.859 | 176.8440 | 342.8290 | 49.7 | 0.01064 | 7.82e-05 | 0.30 | 2 | Cortical Thickness Average of LeftTransverseTemporal |
| M_ST31CV | -31.1982 | -56.297 | -31.1982 | -6.0993 | 49.3 | 0.01230 | 1.96e-05 | 0.30 | 2 | Volume (Cortical Parcellation) of LeftInferiorParietal |
| M_ST24SA | 31.6447 | 6.909 | 31.6447 | 56.3805 | 49.8 | 0.01641 | 1.39e-06 | 0.25 | 2 | Surface Area of LeftEntorhinal |
| M_ST60SA | 38.0636 | 4.099 | 38.0636 | 72.0279 | 49.9 | 0.00971 | 1.45e-04 | 0.45 | 2 | Surface Area of LeftTemporalPole |
| M_ST40TA | -350.0541 | -597.735 | -350.0541 | -102.3734 | 50.6 | 0.01684 | 1.14e-06 | 0.25 | 2 | Cortical Thickness Average of LeftMiddleTemporal |
| RD_ST57TA | 14.1947 | -1.982 | 14.1947 | 30.3715 | 49.9 | 0.00766 | 6.32e-04 | 0.40 | 2 | Cortical Thickness Average of LeftSuperiorParietal |
cluster1names <- names(nugget)[nugget==1]
model1 <- lm(ADAS13~.,TADPOLECrossMRITrain[,c("ADAS13",cluster1names)])
#model1$coefficients <- bml$bagging$bagged.model$coefficients[c("(Intercept)",cluster1names)]
preo <- predict(bml,TADPOLECrossMRITest)
pre1 <- predict(model1,TADPOLECrossMRITest)
plot(preo,pre1)
pander::pander(cor.test(preo,TADPOLECrossMRITest$ADAS13,method="spearman"))
| Test statistic | P value | Alternative hypothesis | rho |
|---|---|---|---|
| 18789218 | 1.69e-95 * * * | two.sided | 0.677 |
pander::pander(cor.test(pre1,TADPOLECrossMRITest$ADAS13,method="spearman"))
| Test statistic | P value | Alternative hypothesis | rho |
|---|---|---|---|
| 20653310 | 5.33e-84 * * * | two.sided | 0.645 |
#cluster2names <- names(nugget)[nugget==2]
#model2 <- lm(ADAS13~.,TADPOLECrossMRITrain[,c("ADAS13",cluster2names)])
#model2$coefficients <- bml$bagging$bagged.model$coefficients[c("(Intercept)",cluster2names)]
#pre2 <- predict(model2,TADPOLECrossMRITest)
#plot(preo,pre2)
#plot(preo,0.5*(pre2+pre1))
#pander::pander(cor.test(pre2,TADPOLECrossMRITest$ADAS13,method="spearman"))
TADPOLECrossMRITrainD <- GDSTMDecorrelation(TADPOLECrossMRITrain,Outcome="ADAS13",
thr=0.6,
type="RLM",
method="spearman",
verbose = TRUE)
#>
#> Included: 196 , Uni p: 0.01152849 To Outcome: 123 , Base: 6 , In Included: 6 , Base Cor: 15
#> 1 , Top: 40 < 0.6 >( 2 )[ 1 : 0 : 0.594 ]( 39 , 92 , 0 ),<>Tot Used: 131 , Added: 92 , Zero Std: 0 , Max Cor: 0.9508271
#> 2 , Top: 23 < 0.6 >( 1 )[ 1 : 0 : 0.594 ]( 23 , 36 , 39 ),<>Tot Used: 151 , Added: 36 , Zero Std: 0 , Max Cor: 0.9347139
#> 3 , Top: 22 < 0.6 >( 2 )[ 1 : 0 : 0 ]( 22 , 26 , 60 ),<>Tot Used: 156 , Added: 26 , Zero Std: 0 , Max Cor: 0.8493966
#> 4 , Top: 5 < 0.6 >( 3 )[ 1 : 0 : 0 ]( 5 , 7 , 78 ),<>Tot Used: 158 , Added: 7 , Zero Std: 0 , Max Cor: 0.5998317
#> [ 5 ], 0.5967145 . Cor to Base: 101 , ABase: 66
TADPOLECrossMRITestD <- predictDecorrelate(TADPOLECrossMRITrainD,TADPOLECrossMRITest)
TrainFraction <- 0.60;
TADPOLECrossMRI <- subset(validBaselineTadpole,DX == "Dementia" | DX == "MCI")
table(TADPOLECrossMRI$DX)
Dementia MCI NL 244 711 0
TADPOLECrossMRI$DX <- 1*(as.character(TADPOLECrossMRI$DX) == "Dementia")
table(TADPOLECrossMRI$DX)
0 1 711 244
TADPOLECrossMRI$ADAS13 <- NULL
TADPOLECrossMRI$ADAS11 <- NULL
TADPOLECrossMRI$MMSE <- NULL
TADPOLECrossMRI$RAVLT_immediate <- NULL
TADPOLECrossMRI$RAVLT_learning <- NULL
TADPOLECrossMRI$RAVLT_perc_forgetting <- NULL
TADPOLECrossMRI$RAVLT_forgetting <- NULL
TADPOLECrossMRI$FAQ <- NULL
TADPOLE_Cases <- subset(TADPOLECrossMRI,DX==1)
TADPOLE_Controls <- subset(TADPOLECrossMRI,DX==0)
trainCasesSet <- sample(nrow(TADPOLE_Cases),nrow(TADPOLE_Cases)*TrainFraction)
trainControlSet <- sample(nrow(TADPOLE_Controls),nrow(TADPOLE_Controls)*TrainFraction)
TADPOLE_DX_TRAIN <- rbind(TADPOLE_Cases[trainCasesSet,],TADPOLE_Controls[trainControlSet,])
TADPOLE_DX_TEST <- TADPOLECrossMRI[!(rownames(TADPOLECrossMRI) %in% rownames(TADPOLE_DX_TRAIN)),]
table(TADPOLE_DX_TEST$DX)
0 1 285 98
par(op)
bDXml <- BSWiMS.model(DX~.,TADPOLE_DX_TRAIN,NumberofRepeats = 20)
[++++++-+++-+++++-++++++–++++-+++++-++++++-++++–++++-++-++++++-++++-++-+++++–+++++-+-++++-+-+++++++++-++++++++-++-+++++-++++++++–++++-+-++++-]………..
pander::pander(bDXml$bagging$Jaccard.SM)
0.0902
fs <- bDXml$bagging$frequencyTable
barplot(fs[order(-fs)],las=2,main="Selected Features",cex.names = 0.5)
sm <- summary(bDXml)
pander::pander(sm$coefficients)
| Estimate | lower | OR | upper | u.Accuracy | r.Accuracy | full.Accuracy | u.AUC | r.AUC | full.AUC | IDI | NRI | z.IDI | z.NRI | Delta.AUC | Frequency | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| M_ST40TA | -79.016 | 1.07e-40 | 4.83e-35 | 2.18e-29 | 0.661 | 0.630 | 0.717 | 0.655 | 0.631 | 0.718 | 0.1247 | 0.689 | 11.13 | 10.78 | 8.71e-02 | 0.65 |
| M_ST32TA | -30.317 | 3.08e-16 | 6.81e-14 | 1.51e-11 | 0.639 | 0.649 | 0.707 | 0.645 | 0.638 | 0.705 | 0.1144 | 0.622 | 10.34 | 9.62 | 6.70e-02 | 0.40 |
| M_ST31TA | -70.265 | 1.23e-36 | 3.05e-31 | 7.54e-26 | 0.636 | 0.678 | 0.728 | 0.626 | 0.681 | 0.731 | 0.0896 | 0.574 | 9.09 | 8.80 | 5.00e-02 | 0.50 |
| M_ST24CV | -20.188 | 3.20e-11 | 1.71e-09 | 9.12e-08 | 0.678 | 0.689 | 0.723 | 0.660 | 0.684 | 0.724 | 0.0807 | 0.554 | 8.64 | 8.51 | 3.97e-02 | 0.95 |
| Hippocampus | -13.711 | 5.93e-08 | 1.11e-06 | 2.08e-05 | 0.667 | 0.690 | 0.723 | 0.672 | 0.684 | 0.730 | 0.0787 | 0.549 | 8.64 | 8.41 | 4.61e-02 | 1.00 |
| M_ST52CV | -1.379 | 1.84e-01 | 2.52e-01 | 3.44e-01 | 0.616 | 0.646 | 0.679 | 0.602 | 0.635 | 0.685 | 0.0795 | 0.419 | 8.45 | 6.28 | 4.94e-02 | 0.10 |
| M_ST32CV | -14.298 | 2.01e-08 | 6.17e-07 | 1.90e-05 | 0.694 | 0.704 | 0.735 | 0.693 | 0.699 | 0.739 | 0.0710 | 0.518 | 8.11 | 7.84 | 4.00e-02 | 1.00 |
| M_ST30SV | 2.881 | 8.13e+00 | 1.78e+01 | 3.91e+01 | 0.651 | 0.686 | 0.700 | 0.652 | 0.682 | 0.705 | 0.0709 | 0.487 | 7.72 | 7.40 | 2.35e-02 | 0.90 |
| M_ST40SA | -0.832 | 3.54e-01 | 4.35e-01 | 5.35e-01 | 0.600 | 0.667 | 0.693 | 0.594 | 0.655 | 0.696 | 0.0626 | 0.469 | 7.54 | 7.06 | 4.14e-02 | 0.15 |
| M_ST12SV | -10.998 | 5.36e-07 | 1.67e-05 | 5.23e-04 | 0.666 | 0.692 | 0.717 | 0.671 | 0.693 | 0.722 | 0.0599 | 0.551 | 7.36 | 8.41 | 2.87e-02 | 0.90 |
| M_ST40CV | -10.650 | 9.62e-07 | 2.37e-05 | 5.84e-04 | 0.693 | 0.694 | 0.716 | 0.699 | 0.692 | 0.718 | 0.0570 | 0.439 | 7.10 | 6.60 | 2.55e-02 | 0.95 |
| M_ST31CV | -9.623 | 3.00e-06 | 6.62e-05 | 1.46e-03 | 0.653 | 0.697 | 0.724 | 0.643 | 0.698 | 0.730 | 0.0596 | 0.451 | 7.02 | 6.80 | 3.22e-02 | 0.90 |
| M_ST24TA | -24.833 | 6.09e-15 | 1.64e-11 | 4.42e-08 | 0.691 | 0.710 | 0.735 | 0.681 | 0.710 | 0.739 | 0.0547 | 0.522 | 7.02 | 7.92 | 2.86e-02 | 1.00 |
| M_ST44CV | -3.787 | 6.08e-03 | 2.27e-02 | 8.44e-02 | 0.617 | 0.681 | 0.709 | 0.618 | 0.673 | 0.708 | 0.0489 | 0.396 | 6.52 | 5.92 | 3.56e-02 | 0.20 |
| M_ST60TA | -5.852 | 4.15e-04 | 2.87e-03 | 1.99e-02 | 0.634 | 0.680 | 0.706 | 0.619 | 0.672 | 0.704 | 0.0471 | 0.456 | 6.49 | 6.92 | 3.23e-02 | 0.25 |
| M_ST45TA | 32.731 | 5.97e+07 | 1.64e+14 | 4.51e+20 | 0.582 | 0.682 | 0.712 | 0.570 | 0.678 | 0.708 | 0.0449 | 0.400 | 6.40 | 5.99 | 2.94e-02 | 0.40 |
| M_ST55TS | 115.895 | 1.13e+29 | 2.15e+50 | 4.08e+71 | 0.555 | 0.685 | 0.713 | 0.547 | 0.683 | 0.715 | 0.0439 | 0.457 | 6.19 | 6.89 | 3.17e-02 | 0.40 |
| M_ST55SA | -0.886 | 2.76e-01 | 4.12e-01 | 6.16e-01 | 0.598 | 0.687 | 0.701 | 0.597 | 0.683 | 0.696 | 0.0408 | 0.417 | 5.86 | 6.23 | 1.37e-02 | 0.30 |
| M_ST32SA | -2.990 | 9.67e-03 | 5.03e-02 | 2.61e-01 | 0.622 | 0.700 | 0.721 | 0.622 | 0.708 | 0.727 | 0.0380 | 0.408 | 5.64 | 6.10 | 1.96e-02 | 0.90 |
| RD_ST31TA | 0.846 | 1.49e+00 | 2.33e+00 | 3.65e+00 | 0.626 | 0.685 | 0.701 | 0.574 | 0.691 | 0.702 | 0.0369 | 0.285 | 5.54 | 4.31 | 1.13e-02 | 0.55 |
| M_ST39CV | 9.367 | 5.56e+01 | 1.17e+04 | 2.46e+06 | 0.563 | 0.711 | 0.729 | 0.562 | 0.716 | 0.734 | 0.0342 | 0.332 | 5.54 | 4.96 | 1.76e-02 | 0.65 |
| M_ST24SA | 2.887 | 3.23e+00 | 1.79e+01 | 9.97e+01 | 0.535 | 0.711 | 0.724 | 0.550 | 0.709 | 0.724 | 0.0323 | 0.283 | 5.51 | 4.19 | 1.54e-02 | 0.25 |
| M_ST129TS | 79.463 | 8.02e+17 | 3.24e+34 | 1.31e+51 | 0.605 | 0.704 | 0.714 | 0.580 | 0.701 | 0.715 | 0.0379 | 0.366 | 5.47 | 5.47 | 1.35e-02 | 0.70 |
| M_ST46TS | 107.131 | 2.05e+18 | 3.36e+46 | 5.51e+74 | 0.583 | 0.722 | 0.733 | 0.560 | 0.725 | 0.737 | 0.0320 | 0.322 | 5.36 | 4.78 | 1.25e-02 | 1.00 |
| M_ST43TS | 131.338 | 9.38e+24 | 1.09e+57 | 1.28e+89 | 0.575 | 0.702 | 0.717 | 0.553 | 0.702 | 0.720 | 0.0341 | 0.337 | 5.33 | 5.02 | 1.73e-02 | 0.90 |
| M_ST60TS | 65.901 | 2.55e+12 | 4.17e+28 | 6.83e+44 | 0.594 | 0.704 | 0.727 | 0.591 | 0.709 | 0.733 | 0.0308 | 0.358 | 5.31 | 5.33 | 2.36e-02 | 0.95 |
| M_ST35SA | -3.534 | 3.29e-03 | 2.92e-02 | 2.59e-01 | 0.566 | 0.707 | 0.732 | 0.581 | 0.711 | 0.736 | 0.0293 | 0.396 | 5.26 | 5.92 | 2.53e-02 | 0.95 |
| M_ST59TA | -2.806 | 1.02e-02 | 6.05e-02 | 3.59e-01 | 0.610 | 0.701 | 0.713 | 0.602 | 0.692 | 0.707 | 0.0329 | 0.196 | 5.24 | 2.88 | 1.52e-02 | 0.10 |
| M_ST36TS | 20.552 | 3.37e+03 | 8.43e+08 | 2.11e+14 | 0.559 | 0.697 | 0.715 | 0.531 | 0.687 | 0.707 | 0.0317 | 0.385 | 5.16 | 5.77 | 2.01e-02 | 0.15 |
| M_ST62TA | 3.333 | 2.35e+00 | 2.80e+01 | 3.34e+02 | 0.536 | 0.689 | 0.710 | 0.520 | 0.696 | 0.711 | 0.0276 | 0.280 | 5.07 | 4.13 | 1.47e-02 | 0.10 |
| M_ST59CV | -2.419 | 2.11e-02 | 8.90e-02 | 3.75e-01 | 0.651 | 0.705 | 0.711 | 0.649 | 0.697 | 0.709 | 0.0322 | 0.393 | 5.06 | 5.87 | 1.11e-02 | 0.20 |
| M_ST26CV | -4.445 | 1.04e-03 | 1.17e-02 | 1.32e-01 | 0.660 | 0.707 | 0.717 | 0.647 | 0.701 | 0.715 | 0.0307 | 0.336 | 5.02 | 5.01 | 1.40e-02 | 0.55 |
| RD_ST44TA | 0.503 | 1.18e+00 | 1.65e+00 | 2.32e+00 | 0.608 | 0.699 | 0.713 | 0.574 | 0.700 | 0.712 | 0.0281 | 0.301 | 4.93 | 4.51 | 1.28e-02 | 0.50 |
| M_ST43TA | 20.526 | 2.83e+02 | 8.21e+08 | 2.38e+15 | 0.552 | 0.696 | 0.715 | 0.541 | 0.694 | 0.715 | 0.0272 | 0.263 | 4.78 | 3.88 | 2.10e-02 | 0.25 |
| M_ST14TA | 3.715 | 3.48e+00 | 4.10e+01 | 4.84e+02 | 0.540 | 0.682 | 0.713 | 0.540 | 0.676 | 0.712 | 0.0270 | 0.292 | 4.76 | 4.32 | 3.66e-02 | 0.20 |
| RD_ST52TA | 1.696 | 1.76e+00 | 5.45e+00 | 1.69e+01 | 0.616 | 0.716 | 0.719 | 0.556 | 0.720 | 0.720 | 0.0281 | 0.220 | 4.74 | 3.31 | -3.62e-05 | 0.75 |
| M_ST54CV | 1.300 | 1.47e+00 | 3.67e+00 | 9.14e+00 | 0.530 | 0.734 | 0.745 | 0.526 | 0.737 | 0.757 | 0.0219 | 0.242 | 4.63 | 3.57 | 2.04e-02 | 0.10 |
| M_ST44TS | -53.998 | 1.21e-41 | 3.54e-24 | 1.03e-06 | 0.541 | 0.705 | 0.715 | 0.542 | 0.702 | 0.717 | 0.0234 | 0.306 | 4.47 | 4.53 | 1.44e-02 | 0.55 |
pander::pander(bDXml$univariate[bDXml$selectedfeatures,])
| Name | RName | ZUni | |
|---|---|---|---|
| M_ST32CV | M_ST32CV | M_ST32CV | 9.01 |
| M_ST24TA | M_ST24TA | M_ST24TA | 9.11 |
| M_ST46TS | M_ST46TS | M_ST46TS | 2.82 |
| M_ST30SV | M_ST30SV | M_ST30SV | 8.41 |
| M_ST32SA | M_ST32SA | M_ST32SA | 6.46 |
| Hippocampus | Hippocampus | Hippocampus | 8.49 |
| M_ST12SV | M_ST12SV | M_ST12SV | 8.10 |
| M_ST31CV | M_ST31CV | M_ST31CV | 7.16 |
| M_ST54CV | M_ST54CV | M_ST54CV | 1.78 |
| M_ST60TS | M_ST60TS | M_ST60TS | 4.29 |
| RD_ST31TA | RD_ST31TA | RD_ST31TA | 4.55 |
| M_ST40CV | M_ST40CV | M_ST40CV | 7.85 |
| M_ST39CV | M_ST39CV | M_ST39CV | 2.60 |
| M_ST24CV | M_ST24CV | M_ST24CV | 7.76 |
| RD_ST52TA | RD_ST52TA | RD_ST52TA | 4.65 |
| M_ST35CV | M_ST35CV | M_ST35CV | 6.11 |
| M_ST43TS | M_ST43TS | M_ST43TS | 2.94 |
| M_ST35SA | M_ST35SA | M_ST35SA | 3.29 |
| M_ST129TS | M_ST129TS | M_ST129TS | 3.90 |
| M_ST24SA | M_ST24SA | M_ST24SA | 1.81 |
| M_ST31TA | M_ST31TA | M_ST31TA | 6.73 |
| M_ST26CV | M_ST26CV | M_ST26CV | 7.18 |
| M_ST40TA | M_ST40TA | M_ST40TA | 7.00 |
| RD_ST44TA | RD_ST44TA | RD_ST44TA | 3.73 |
| M_ST56TS | M_ST56TS | M_ST56TS | 3.07 |
| M_ST45TA | M_ST45TA | M_ST45TA | 3.22 |
| M_ST32TA | M_ST32TA | M_ST32TA | 7.04 |
| M_ST44CV | M_ST44CV | M_ST44CV | 6.34 |
| M_ST44TS | M_ST44TS | M_ST44TS | 1.41 |
| M_ST59TA | M_ST59TA | M_ST59TA | 6.44 |
| RD_ST29SV | RD_ST29SV | RD_ST29SV | 3.65 |
| M_ST43TA | M_ST43TA | M_ST43TA | 2.56 |
| M_ST55SA | M_ST55SA | M_ST55SA | 4.37 |
| RD_ST55TA | RD_ST55TA | RD_ST55TA | 3.01 |
| M_ST40SA | M_ST40SA | M_ST40SA | 4.50 |
| M_ST60TA | M_ST60TA | M_ST60TA | 5.72 |
| M_ST59CV | M_ST59CV | M_ST59CV | 6.65 |
| M_ST55TS | M_ST55TS | M_ST55TS | 1.42 |
| M_ST14TA | M_ST14TA | M_ST14TA | 1.67 |
| M_ST26TA | M_ST26TA | M_ST26TA | 6.91 |
| M_ST62TA | M_ST62TA | M_ST62TA | 2.33 |
| M_ST52CV | M_ST52CV | M_ST52CV | 6.53 |
| M_ST36TS | M_ST36TS | M_ST36TS | 1.62 |
| M_ST55CV | M_ST55CV | M_ST55CV | 6.18 |
| M_ST23TA | M_ST23TA | M_ST23TA | 2.49 |
| M_ST31SA | M_ST31SA | M_ST31SA | 3.88 |
| M_ST58TA | M_ST58TA | M_ST58TA | 6.62 |
prBin <- predictionStats_binary(cbind(TADPOLE_DX_TEST$DX,predict(bDXml,TADPOLE_DX_TEST)),"MCI vs Dementia")
MCI vs Dementia
pander::pander(prBin$aucs)
| est | lower | upper |
|---|---|---|
| 0.821 | 0.775 | 0.867 |
pander::pander(prBin$accc)
| est | lower | upper |
|---|---|---|
| 0.734 | 0.686 | 0.777 |
pander::pander(prBin$berror)
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.255 | 0.209 | 0.305 |
pander::pander(prBin$sensitivity)
| est | lower | upper |
|---|---|---|
| 0.765 | 0.669 | 0.845 |
par(op)
plot(sm$coefficients$IDI,sm$coefficients$Delta.AUC)
plot(sm$coefficients$NRI,sm$coefficients$Delta.AUC)
par(op)
gplots::heatmap.2(log(100*bDXml$bagging$formulaNetwork+1),
trace = "none",
scale = "none",
mar = c(10,10),
col=rev(heat.colors(5)),
main = "formulaNetwork",
cexRow = 0.5,
cexCol = 0.5,
key.title=NA,
key.xlab="Spearman Correlation",
xlab="Feature", ylab="Feature")
par(op)
gplots::heatmap.2(log(100*bDXml$bagging$WformulaNetwork+1),
trace = "none",
scale = "none",
mar = c(10,10),
col=rev(heat.colors(5)),
main = "Wnetwork",
cexRow = 0.5,
cexCol = 0.5,
key.title=NA,
key.xlab="Spearman Correlation",
xlab="Feature", ylab="Feature")
par(op)
cmax <- apply(bDXml$bagging$formulaNetwork,2,max)
cnames <- names(cmax[cmax>=0.25])
cmax <- cmax[cnames]
adma <- bDXml$bagging$formulaNetwork[cnames,cnames]
adma[adma<0.15] <- 0;
gr <- graph_from_adjacency_matrix(adma,mode = "undirected",diag = FALSE,weighted=TRUE)
gr$layout <- layout_with_fr
fc <- cluster_optimal(gr)
plot(fc, gr,
edge.width=10*E(gr)$weight,
vertex.size=10*cmax,
vertex.label.cex=0.75,
vertex.label.dist=0,
main="MCI vs Dementia Diagnosis")
par(op)
clusterFeatures <- fc$names
tableMCI_De <- sm$coefficients[clusterFeatures,
c("Estimate",
"lower",
"OR",
"upper",
"full.AUC",
"Delta.AUC",
"z.IDI",
"Frequency")]
nugget <- fc$membership
names(nugget) <- clusterFeatures
tableMCI_De$Cluster <- nugget[rownames(tableMCI_De)]
rnames <- clusterFeatures[str_detect(clusterFeatures,"ST")]
frnames <- rnames
rnames <- str_replace_all(rnames,"M_","")
rnames <- str_replace_all(rnames,"RD_","")
description <- character()
for (ddet in c(1:length(rnames)))
{
description <- c(description,TADPOLE_D1_D2_Dict$TEXT[str_detect(TADPOLE_D1_D2_Dict$FLDNAME,rnames[ddet])][1])
}
names(description) <- frnames
tableMCI_De$Description <- description[rownames(tableMCI_De)]
pander::pander(tableMCI_De)
| Estimate | lower | OR | upper | full.AUC | Delta.AUC | z.IDI | Frequency | Cluster | Description | |
|---|---|---|---|---|---|---|---|---|---|---|
| M_ST32CV | -14.298 | 2.01e-08 | 6.17e-07 | 1.90e-05 | 0.739 | 4.00e-02 | 8.11 | 1.00 | 1 | Volume (Cortical Parcellation) of LeftInferiorTemporal |
| M_ST24TA | -24.833 | 6.09e-15 | 1.64e-11 | 4.42e-08 | 0.739 | 2.86e-02 | 7.02 | 1.00 | 1 | Cortical Thickness Average of LeftEntorhinal |
| M_ST46TS | 107.131 | 2.05e+18 | 3.36e+46 | 5.51e+74 | 0.737 | 1.25e-02 | 5.36 | 1.00 | 1 | Cortical Thickness Standard Deviation of LeftParsOrbitalis |
| M_ST30SV | 2.881 | 8.13e+00 | 1.78e+01 | 3.91e+01 | 0.705 | 2.35e-02 | 7.72 | 0.90 | 2 | Volume (WM Parcellation) of LeftInferiorLateralVentricle |
| M_ST32SA | -2.990 | 9.67e-03 | 5.03e-02 | 2.61e-01 | 0.727 | 1.96e-02 | 5.64 | 0.90 | 2 | Surface Area of LeftInferiorTemporal |
| Hippocampus | -13.711 | 5.93e-08 | 1.11e-06 | 2.08e-05 | 0.730 | 4.61e-02 | 8.64 | 1.00 | 3 | NA |
| M_ST12SV | -10.998 | 5.36e-07 | 1.67e-05 | 5.23e-04 | 0.722 | 2.87e-02 | 7.36 | 0.90 | 2 | Volume (WM Parcellation) of LeftAmygdala |
| M_ST31CV | -9.623 | 3.00e-06 | 6.62e-05 | 1.46e-03 | 0.730 | 3.22e-02 | 7.02 | 0.90 | 3 | Volume (Cortical Parcellation) of LeftInferiorParietal |
| M_ST60TS | 65.901 | 2.55e+12 | 4.17e+28 | 6.83e+44 | 0.733 | 2.36e-02 | 5.31 | 0.95 | 3 | Cortical Thickness Standard Deviation of LeftTemporalPole |
| RD_ST31TA | 0.846 | 1.49e+00 | 2.33e+00 | 3.65e+00 | 0.702 | 1.13e-02 | 5.54 | 0.55 | 2 | Cortical Thickness Average of LeftInferiorParietal |
| M_ST40CV | -10.650 | 9.62e-07 | 2.37e-05 | 5.84e-04 | 0.718 | 2.55e-02 | 7.10 | 0.95 | 4 | Volume (Cortical Parcellation) of LeftMiddleTemporal |
| M_ST39CV | 9.367 | 5.56e+01 | 1.17e+04 | 2.46e+06 | 0.734 | 1.76e-02 | 5.54 | 0.65 | 2 | Volume (Cortical Parcellation) of LeftMedialOrbitofrontal |
| M_ST24CV | -20.188 | 3.20e-11 | 1.71e-09 | 9.12e-08 | 0.724 | 3.97e-02 | 8.64 | 0.95 | 4 | Volume (Cortical Parcellation) of LeftEntorhinal |
| RD_ST52TA | 1.696 | 1.76e+00 | 5.45e+00 | 1.69e+01 | 0.720 | -3.62e-05 | 4.74 | 0.75 | 2 | Cortical Thickness Average of LeftPrecuneus |
| M_ST43TS | 131.338 | 9.38e+24 | 1.09e+57 | 1.28e+89 | 0.720 | 1.73e-02 | 5.33 | 0.90 | 4 | Cortical Thickness Standard Deviation of LeftParacentral |
| M_ST35SA | -3.534 | 3.29e-03 | 2.92e-02 | 2.59e-01 | 0.736 | 2.53e-02 | 5.26 | 0.95 | 3 | Surface Area of LeftLateralOccipital |
| M_ST129TS | 79.463 | 8.02e+17 | 3.24e+34 | 1.31e+51 | 0.715 | 1.35e-02 | 5.47 | 0.70 | 5 | Cortical Thickness Standard Deviation of LeftInsula |
| M_ST24SA | 2.887 | 3.23e+00 | 1.79e+01 | 9.97e+01 | 0.724 | 1.54e-02 | 5.51 | 0.25 | 4 | Surface Area of LeftEntorhinal |
| M_ST31TA | -70.265 | 1.23e-36 | 3.05e-31 | 7.54e-26 | 0.731 | 5.00e-02 | 9.09 | 0.50 | 2 | Cortical Thickness Average of LeftInferiorParietal |
| M_ST26CV | -4.445 | 1.04e-03 | 1.17e-02 | 1.32e-01 | 0.715 | 1.40e-02 | 5.02 | 0.55 | 5 | Volume (Cortical Parcellation) of LeftFusiform |
| M_ST40TA | -79.016 | 1.07e-40 | 4.83e-35 | 2.18e-29 | 0.718 | 8.71e-02 | 11.13 | 0.65 | 5 | Cortical Thickness Average of LeftMiddleTemporal |
| RD_ST44TA | 0.503 | 1.18e+00 | 1.65e+00 | 2.32e+00 | 0.712 | 1.28e-02 | 4.93 | 0.50 | 5 | Cortical Thickness Average of LeftParahippocampal |
| M_ST45TA | 32.731 | 5.97e+07 | 1.64e+14 | 4.51e+20 | 0.708 | 2.94e-02 | 6.40 | 0.40 | 5 | Cortical Thickness Average of LeftParsOpercularis |
| M_ST32TA | -30.317 | 3.08e-16 | 6.81e-14 | 1.51e-11 | 0.705 | 6.70e-02 | 10.34 | 0.40 | 5 | Cortical Thickness Average of LeftInferiorTemporal |
| M_ST44TS | -53.998 | 1.21e-41 | 3.54e-24 | 1.03e-06 | 0.717 | 1.44e-02 | 4.47 | 0.55 | 5 | Cortical Thickness Standard Deviation of LeftParahippocampal |
| M_ST43TA | 20.526 | 2.83e+02 | 8.21e+08 | 2.38e+15 | 0.715 | 2.10e-02 | 4.78 | 0.25 | 2 | Cortical Thickness Average of LeftParacentral |
| M_ST55SA | -0.886 | 2.76e-01 | 4.12e-01 | 6.16e-01 | 0.696 | 1.37e-02 | 5.86 | 0.30 | 5 | Surface Area of LeftRostralMiddleFrontal |
| M_ST60TA | -5.852 | 4.15e-04 | 2.87e-03 | 1.99e-02 | 0.704 | 3.23e-02 | 6.49 | 0.25 | 6 | Cortical Thickness Average of LeftTemporalPole |
| M_ST55TS | 115.895 | 1.13e+29 | 2.15e+50 | 4.08e+71 | 0.715 | 3.17e-02 | 6.19 | 0.40 | 5 | Cortical Thickness Standard Deviation of LeftRostralMiddleFrontal |
TADPOLE_DX_TRAIND <- GDSTMDecorrelation(TADPOLE_DX_TRAIN,Outcome="DX",
thr=0.6,
type="RLM",
method="spearman",
verbose = TRUE)
#>
#> Included: 200 , Uni p: 0.0118249 To Outcome: 93 , Base: 5 , In Included: 5 , Base Cor: 14
#> 1 , Top: 40 < 0.6 >( 3 )[ 1 : 0 : 0.594 ]( 39 , 89 , 0 ),<>Tot Used: 128 , Added: 89 , Zero Std: 0 , Max Cor: 0.9882019
#> 2 , Top: 26 < 0.6 >[ FALSE ]( 1 )[ 1 : 0 : 0.594 ]( 22 , 32 , 39 ),<>Tot Used: 147 , Added: 32 , Zero Std: 0 , Max Cor: 0.9458602
#> 3 , Top: 16 < 0.6 >( 1 )[ 1 : 0 : 0.594 ]( 15 , 18 , 58 ),<>Tot Used: 154 , Added: 18 , Zero Std: 0 , Max Cor: 0.8804423
#> 4 , Top: 12 < 0.6 >( 2 )[ 1 : 0 : 0.594 ]( 9 , 10 , 68 ),<>Tot Used: 156 , Added: 10 , Zero Std: 0 , Max Cor: 0.891374
#> 5 , Top: 8 < 0.6 >( 1 )[ 1 : 0 : 0 ]( 8 , 11 , 75 ),<>Tot Used: 158 , Added: 11 , Zero Std: 0 , Max Cor: 0.8757232
#> 6 , Top: 4 < 0.6 >[ TRUE ]( 1 )[ 1 : 0 : 0 ]( 4 , 4 , 78 ),<>Tot Used: 158 , Added: 4 , Zero Std: 0 , Max Cor: 0.6082068
#> 7 , Top: 1 < 0.6 >[ FALSE ]( 1 )[ 1 : 0 : 0.6 ]( 1 , 1 , 82 ),<>Tot Used: 158 , Added: 1 , Zero Std: 0 , Max Cor: 0.5990138
#> [ 8 ], 0.5979913 . Cor to Base: 102 , ABase: 76
TADPOLE_DX_TESTD <- predictDecorrelate(TADPOLE_DX_TRAIND,TADPOLE_DX_TEST)
cmax <- apply(bDXmlD$bagging$formulaNetwork,2,max)
cnames <- names(cmax[cmax>=0.25])
cmax <- cmax[cnames]
adma <- bDXmlD$bagging$formulaNetwork[cnames,cnames]
adma[adma<0.15] <- 0;
gr <- graph_from_adjacency_matrix(adma,mode = "undirected",diag = FALSE,weighted=TRUE)
gr$layout <- layout_with_fr
fc <- cluster_optimal(gr)
plot(fc, gr,
edge.width=10*E(gr)$weight,
vertex.size=10*cmax,
vertex.label.cex=0.75,
vertex.label.dist=0,
main="MCI vs Dementia Diagnosis")
par(op)
TrainFraction <- 0.60;
table(validBaselineTadpole$DX)
Dementia MCI NL 244 711 452
TADPOLECrossMRI <- subset(validBaselineTadpole,DX == "Dementia" | DX == "NL")
table(TADPOLECrossMRI$DX)
Dementia MCI NL 244 0 452
TADPOLECrossMRI$DX <- 1*(as.character(TADPOLECrossMRI$DX) == "Dementia")
table(TADPOLECrossMRI$DX)
0 1 452 244
TADPOLECrossMRI$ADAS13 <- NULL
TADPOLECrossMRI$ADAS11 <- NULL
TADPOLECrossMRI$MMSE <- NULL
TADPOLECrossMRI$RAVLT_immediate <- NULL
TADPOLECrossMRI$RAVLT_learning <- NULL
TADPOLECrossMRI$RAVLT_perc_forgetting <- NULL
TADPOLECrossMRI$RAVLT_forgetting <- NULL
TADPOLECrossMRI$FAQ <- NULL
TADPOLE_Cases <- subset(TADPOLECrossMRI,DX==1)
TADPOLE_Controls <- subset(TADPOLECrossMRI,DX==0)
trainCasesSet <- sample(nrow(TADPOLE_Cases),nrow(TADPOLE_Cases)*TrainFraction)
trainControlSet <- sample(nrow(TADPOLE_Controls),nrow(TADPOLE_Controls)*TrainFraction)
TADPOLE_DX_NLDE_TRAIN <- rbind(TADPOLE_Cases[trainCasesSet,],TADPOLE_Controls[trainControlSet,])
TADPOLE_DX_NLDE_TEST <- TADPOLECrossMRI[!(rownames(TADPOLECrossMRI) %in% rownames(TADPOLE_DX_NLDE_TRAIN)),]
pander::pander(table(TADPOLE_DX_NLDE_TRAIN$DX))
| 0 | 1 |
|---|---|
| 271 | 146 |
pander::pander(table(TADPOLE_DX_NLDE_TEST$DX))
| 0 | 1 |
|---|---|
| 181 | 98 |
par(op)
bDXmlNLDE <- BSWiMS.model(DX~.,TADPOLE_DX_NLDE_TRAIN,NumberofRepeats = 20)
[++-+++-+++-++–+++-++-+++-++-+++-+++-++-++-++–+++-++-++—+++-++–++-++–]….
pander::pander(bDXmlNLDE$bagging$Jaccard.SM)
0.195
fs <- bDXmlNLDE$bagging$frequencyTable
barplot(fs[order(-fs)],las=2,main="Selected Features",cex.names = 0.5)
sm <- summary(bDXmlNLDE)
pander::pander(sm$coefficients)
| Estimate | lower | OR | upper | u.Accuracy | r.Accuracy | full.Accuracy | u.AUC | r.AUC | full.AUC | IDI | NRI | z.IDI | z.NRI | Delta.AUC | Frequency | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| M_ST24CV | -126.03 | 5.06e-66 | 1.84e-55 | 6.68e-45 | 0.836 | 0.851 | 0.900 | 0.829 | 0.848 | 0.896 | 0.1253 | 1.007 | 9.09 | 13.82 | 0.04885 | 1.00 |
| M_ST51TA | 324.67 | 9.53e+92 | 1.01e+141 | 1.07e+189 | 0.607 | 0.886 | 0.918 | 0.600 | 0.883 | 0.916 | 0.0831 | 0.824 | 7.30 | 10.78 | 0.03333 | 0.85 |
| M_ST24TA | -153.90 | 6.39e-92 | 1.45e-67 | 3.29e-43 | 0.851 | 0.892 | 0.917 | 0.843 | 0.891 | 0.915 | 0.0769 | 0.790 | 6.96 | 10.40 | 0.02455 | 1.00 |
| M_ST31TA | -212.64 | 5.58e-133 | 4.47e-93 | 3.58e-53 | 0.745 | 0.891 | 0.916 | 0.737 | 0.887 | 0.914 | 0.0757 | 0.666 | 6.89 | 8.71 | 0.02753 | 0.55 |
| M_ST40TA | -207.63 | 4.70e-123 | 6.70e-91 | 9.57e-59 | 0.787 | 0.865 | 0.891 | 0.780 | 0.864 | 0.888 | 0.0756 | 0.803 | 6.72 | 10.72 | 0.02418 | 0.50 |
| Hippocampus | -58.83 | 1.17e-38 | 2.83e-26 | 6.84e-14 | 0.840 | 0.896 | 0.917 | 0.839 | 0.893 | 0.915 | 0.0577 | 0.754 | 5.84 | 9.72 | 0.02196 | 1.00 |
| M_ST45TA | 162.32 | 1.76e+44 | 3.13e+70 | 5.57e+96 | 0.660 | 0.866 | 0.890 | 0.657 | 0.867 | 0.889 | 0.0574 | 0.785 | 5.79 | 10.16 | 0.02181 | 0.35 |
| M_ST30SV | 9.76 | 6.24e+01 | 1.73e+04 | 4.79e+06 | 0.781 | 0.874 | 0.891 | 0.778 | 0.872 | 0.888 | 0.0475 | 0.640 | 5.42 | 8.17 | 0.01592 | 0.40 |
| M_ST12SV | -99.35 | 3.37e-62 | 7.11e-44 | 1.50e-25 | 0.802 | 0.883 | 0.900 | 0.796 | 0.879 | 0.897 | 0.0521 | 0.622 | 5.39 | 7.94 | 0.01839 | 0.95 |
| M_ST36CV | 41.51 | 5.35e+06 | 1.07e+18 | 2.12e+29 | 0.600 | 0.885 | 0.902 | 0.595 | 0.881 | 0.898 | 0.0412 | 0.577 | 5.12 | 7.11 | 0.01678 | 0.55 |
| M_ST39CV | 31.34 | 1.34e+05 | 4.09e+13 | 1.25e+22 | 0.595 | 0.880 | 0.897 | 0.594 | 0.876 | 0.894 | 0.0416 | 0.395 | 5.02 | 4.75 | 0.01809 | 0.60 |
| M_ST31CV | -21.05 | 4.55e-16 | 7.24e-10 | 1.15e-03 | 0.746 | 0.895 | 0.914 | 0.735 | 0.891 | 0.912 | 0.0417 | 0.661 | 4.91 | 8.27 | 0.02055 | 0.35 |
| M_ST32TA | -59.88 | 6.78e-40 | 9.85e-27 | 1.43e-13 | 0.810 | 0.877 | 0.893 | 0.801 | 0.872 | 0.889 | 0.0380 | 0.548 | 4.80 | 6.79 | 0.01766 | 0.40 |
| M_ST40CV | -33.71 | 2.01e-25 | 2.29e-15 | 2.60e-05 | 0.763 | 0.889 | 0.906 | 0.762 | 0.885 | 0.903 | 0.0398 | 0.567 | 4.79 | 7.12 | 0.01798 | 0.65 |
| M_ST15TA | -111.39 | 6.38e-84 | 4.20e-49 | 2.77e-14 | 0.708 | 0.898 | 0.911 | 0.703 | 0.896 | 0.911 | 0.0342 | 0.448 | 4.46 | 5.43 | 0.01467 | 0.30 |
| M_ST32CV | -30.61 | 2.31e-23 | 5.09e-14 | 1.12e-04 | 0.769 | 0.876 | 0.890 | 0.765 | 0.874 | 0.886 | 0.0402 | 0.712 | 4.38 | 9.14 | 0.01251 | 0.60 |
| M_ST32SA | -1.63 | 4.63e-02 | 1.96e-01 | 8.30e-01 | 0.672 | 0.865 | 0.880 | 0.673 | 0.863 | 0.881 | 0.0311 | 0.534 | 4.24 | 6.52 | 0.01734 | 0.10 |
| M_ST129CV | 7.45 | 5.89e+00 | 1.73e+03 | 5.07e+05 | 0.595 | 0.889 | 0.901 | 0.602 | 0.883 | 0.898 | 0.0311 | 0.357 | 4.24 | 4.24 | 0.01536 | 0.10 |
| M_ST24SA | 17.83 | 1.47e+01 | 5.56e+07 | 2.10e+14 | 0.588 | 0.892 | 0.904 | 0.595 | 0.888 | 0.900 | 0.0287 | 0.572 | 4.14 | 7.04 | 0.01248 | 0.45 |
| M_ST13CV | -7.36 | 1.05e-06 | 6.37e-04 | 3.87e-01 | 0.723 | 0.875 | 0.890 | 0.727 | 0.874 | 0.888 | 0.0262 | 0.739 | 4.09 | 9.43 | 0.01450 | 0.15 |
| RD_ST57TA | 5.10 | 2.67e+00 | 1.64e+02 | 1.00e+04 | 0.635 | 0.888 | 0.900 | 0.604 | 0.883 | 0.897 | 0.0260 | 0.330 | 4.01 | 3.97 | 0.01429 | 0.45 |
| RD_ST29SV | 3.90 | 2.38e+00 | 4.94e+01 | 1.02e+03 | 0.674 | 0.873 | 0.888 | 0.655 | 0.869 | 0.887 | 0.0319 | 0.749 | 3.99 | 9.60 | 0.01862 | 0.25 |
| RD_ST32TA | 4.64 | 1.49e+00 | 1.04e+02 | 7.25e+03 | 0.683 | 0.908 | 0.911 | 0.656 | 0.906 | 0.909 | 0.0282 | 0.585 | 3.56 | 7.36 | 0.00294 | 0.80 |
| RD_ST55TA | 3.07 | 1.38e+00 | 2.15e+01 | 3.35e+02 | 0.608 | 0.893 | 0.904 | 0.585 | 0.889 | 0.902 | 0.0206 | 0.417 | 3.46 | 5.08 | 0.01329 | 0.25 |
| M_ST15CV | -6.86 | 1.15e-06 | 1.05e-03 | 9.54e-01 | 0.643 | 0.890 | 0.892 | 0.644 | 0.886 | 0.889 | 0.0189 | 0.448 | 2.94 | 5.57 | 0.00217 | 0.20 |
pander::pander(bDXmlNLDE$univariate[bDXmlNLDE$selectedfeatures,])
| Name | RName | ZUni | |
|---|---|---|---|
| M_ST24TA | M_ST24TA | M_ST24TA | 20.33 |
| Hippocampus | Hippocampus | Hippocampus | 19.17 |
| RD_ST32TA | RD_ST32TA | RD_ST32TA | 7.38 |
| M_ST51TA | M_ST51TA | M_ST51TA | 5.93 |
| M_ST13SA | M_ST13SA | M_ST13SA | 4.55 |
| M_ST31TA | M_ST31TA | M_ST31TA | 12.01 |
| M_ST24CV | M_ST24CV | M_ST24CV | 18.01 |
| ST3SV | ST3SV | ST3SV | 6.52 |
| M_ST24SA | M_ST24SA | M_ST24SA | 4.64 |
| M_ST40CV | M_ST40CV | M_ST40CV | 14.07 |
| M_ST31CV | M_ST31CV | M_ST31CV | 11.24 |
| M_ST12SV | M_ST12SV | M_ST12SV | 16.05 |
| M_ST15TA | M_ST15TA | M_ST15TA | 10.18 |
| M_ST32TA | M_ST32TA | M_ST32TA | 14.58 |
| M_ST129TA | M_ST129TA | M_ST129TA | 7.11 |
| M_ST54CV | M_ST54CV | M_ST54CV | 3.15 |
| RD_ST57TA | RD_ST57TA | RD_ST57TA | 5.39 |
| M_ST36CV | M_ST36CV | M_ST36CV | 5.52 |
| M_ST32CV | M_ST32CV | M_ST32CV | 14.59 |
| M_ST39CV | M_ST39CV | M_ST39CV | 4.65 |
| M_ST129CV | M_ST129CV | M_ST129CV | 5.40 |
| M_ST30SV | M_ST30SV | M_ST30SV | 13.99 |
| M_ST60SA | M_ST60SA | M_ST60SA | 2.93 |
| M_ST40TA | M_ST40TA | M_ST40TA | 14.19 |
| RD_ST55TA | RD_ST55TA | RD_ST55TA | 3.46 |
| RD_ST29SV | RD_ST29SV | RD_ST29SV | 6.99 |
| M_ST24TS | M_ST24TS | M_ST24TS | 5.43 |
| M_ST32SA | M_ST32SA | M_ST32SA | 7.95 |
| M_ST45TA | M_ST45TA | M_ST45TA | 6.90 |
| M_ST15CV | M_ST15CV | M_ST15CV | 7.45 |
| ST127SV | ST127SV | ST127SV | 5.88 |
| M_ST32TS | M_ST32TS | M_ST32TS | 1.66 |
| M_ST23CV | M_ST23CV | M_ST23CV | 2.51 |
| M_ST52CV | M_ST52CV | M_ST52CV | 9.63 |
| M_ST13CV | M_ST13CV | M_ST13CV | 10.07 |
prBin <- predictionStats_binary(cbind(TADPOLE_DX_NLDE_TEST$DX,predict(bDXmlNLDE,TADPOLE_DX_NLDE_TEST)),"NL vs Dementia")
NL vs Dementia
pander::pander(prBin$aucs)
| est | lower | upper |
|---|---|---|
| 0.938 | 0.907 | 0.97 |
pander::pander(prBin$accc)
| est | lower | upper |
|---|---|---|
| 0.864 | 0.818 | 0.902 |
pander::pander(prBin$berror)
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.146 | 0.101 | 0.19 |
pander::pander(prBin$sensitivity)
| est | lower | upper |
|---|---|---|
| 0.816 | 0.725 | 0.887 |
par(op)
cmax <- apply(bDXmlNLDE$bagging$formulaNetwork,2,max)
cnames <- names(cmax[cmax>=0.25])
cmax <- cmax[cnames]
adma <- bDXmlNLDE$bagging$formulaNetwork[cnames,cnames]
adma[adma<0.15] <- 0;
gr <- graph_from_adjacency_matrix(adma,mode = "undirected",diag = FALSE,weighted=TRUE)
gr$layout <- layout_with_fr
fc <- cluster_optimal(gr)
plot(fc, gr,
edge.width=10*E(gr)$weight,
vertex.size=10*cmax,
vertex.label.cex=0.75,
vertex.label.dist=0,
main="NL vs Dementia Diagnosis")
par(op)
clusterFeatures <- fc$names
tableNL_DE <- sm$coefficients[clusterFeatures,
c("Estimate",
"lower",
"OR",
"upper",
"full.AUC",
"Delta.AUC",
"z.IDI",
"Frequency")]
nugget <- fc$membership
names(nugget) <- clusterFeatures
tableNL_DE$Cluster <- nugget[rownames(tableNL_DE)]
rnames <- clusterFeatures[str_detect(clusterFeatures,"ST")]
frnames <- rnames
rnames <- str_replace_all(rnames,"M_","")
rnames <- str_replace_all(rnames,"RD_","")
description <- character()
for (ddet in c(1:length(rnames)))
{
description <- c(description,TADPOLE_D1_D2_Dict$TEXT[str_detect(TADPOLE_D1_D2_Dict$FLDNAME,rnames[ddet])][1])
}
names(description) <- frnames
tableNL_DE$Description <- description[rownames(tableNL_DE)]
pander::pander(tableNL_DE)
| Estimate | lower | OR | upper | full.AUC | Delta.AUC | z.IDI | Frequency | Cluster | Description | |
|---|---|---|---|---|---|---|---|---|---|---|
| M_ST24TA | -153.90 | 6.39e-92 | 1.45e-67 | 3.29e-43 | 0.915 | 0.02455 | 6.96 | 1.00 | 1 | Cortical Thickness Average of LeftEntorhinal |
| Hippocampus | -58.83 | 1.17e-38 | 2.83e-26 | 6.84e-14 | 0.915 | 0.02196 | 5.84 | 1.00 | 1 | NA |
| RD_ST32TA | 4.64 | 1.49e+00 | 1.04e+02 | 7.25e+03 | 0.909 | 0.00294 | 3.56 | 0.80 | 1 | Cortical Thickness Average of LeftInferiorTemporal |
| M_ST51TA | 324.67 | 9.53e+92 | 1.01e+141 | 1.07e+189 | 0.916 | 0.03333 | 7.30 | 0.85 | 1 | Cortical Thickness Average of LeftPrecentral |
| M_ST31TA | -212.64 | 5.58e-133 | 4.47e-93 | 3.58e-53 | 0.914 | 0.02753 | 6.89 | 0.55 | 1 | Cortical Thickness Average of LeftInferiorParietal |
| M_ST24CV | -126.03 | 5.06e-66 | 1.84e-55 | 6.68e-45 | 0.896 | 0.04885 | 9.09 | 1.00 | 2 | Volume (Cortical Parcellation) of LeftEntorhinal |
| M_ST24SA | 17.83 | 1.47e+01 | 5.56e+07 | 2.10e+14 | 0.900 | 0.01248 | 4.14 | 0.45 | 2 | Surface Area of LeftEntorhinal |
| M_ST40CV | -33.71 | 2.01e-25 | 2.29e-15 | 2.60e-05 | 0.903 | 0.01798 | 4.79 | 0.65 | 2 | Volume (Cortical Parcellation) of LeftMiddleTemporal |
| M_ST31CV | -21.05 | 4.55e-16 | 7.24e-10 | 1.15e-03 | 0.912 | 0.02055 | 4.91 | 0.35 | 1 | Volume (Cortical Parcellation) of LeftInferiorParietal |
| M_ST12SV | -99.35 | 3.37e-62 | 7.11e-44 | 1.50e-25 | 0.897 | 0.01839 | 5.39 | 0.95 | 2 | Volume (WM Parcellation) of LeftAmygdala |
| M_ST15TA | -111.39 | 6.38e-84 | 4.20e-49 | 2.77e-14 | 0.911 | 0.01467 | 4.46 | 0.30 | 1 | Cortical Thickness Average of LeftCaudalMiddleFrontal |
| M_ST32TA | -59.88 | 6.78e-40 | 9.85e-27 | 1.43e-13 | 0.889 | 0.01766 | 4.80 | 0.40 | 2 | Cortical Thickness Average of LeftInferiorTemporal |
| RD_ST57TA | 5.10 | 2.67e+00 | 1.64e+02 | 1.00e+04 | 0.897 | 0.01429 | 4.01 | 0.45 | 2 | Cortical Thickness Average of LeftSuperiorParietal |
| M_ST36CV | 41.51 | 5.35e+06 | 1.07e+18 | 2.12e+29 | 0.898 | 0.01678 | 5.12 | 0.55 | 2 | Volume (Cortical Parcellation) of LeftLateralOrbitofrontal |
| M_ST32CV | -30.61 | 2.31e-23 | 5.09e-14 | 1.12e-04 | 0.886 | 0.01251 | 4.38 | 0.60 | 3 | Volume (Cortical Parcellation) of LeftInferiorTemporal |
| M_ST39CV | 31.34 | 1.34e+05 | 4.09e+13 | 1.25e+22 | 0.894 | 0.01809 | 5.02 | 0.60 | 2 | Volume (Cortical Parcellation) of LeftMedialOrbitofrontal |
| M_ST30SV | 9.76 | 6.24e+01 | 1.73e+04 | 4.79e+06 | 0.888 | 0.01592 | 5.42 | 0.40 | 3 | Volume (WM Parcellation) of LeftInferiorLateralVentricle |
| M_ST40TA | -207.63 | 4.70e-123 | 6.70e-91 | 9.57e-59 | 0.888 | 0.02418 | 6.72 | 0.50 | 3 | Cortical Thickness Average of LeftMiddleTemporal |
| RD_ST55TA | 3.07 | 1.38e+00 | 2.15e+01 | 3.35e+02 | 0.902 | 0.01329 | 3.46 | 0.25 | 2 | Cortical Thickness Average of LeftRostralMiddleFrontal |
| RD_ST29SV | 3.90 | 2.38e+00 | 4.94e+01 | 1.02e+03 | 0.887 | 0.01862 | 3.99 | 0.25 | 3 | Volume (WM Parcellation) of LeftHippocampus |
| M_ST45TA | 162.32 | 1.76e+44 | 3.13e+70 | 5.57e+96 | 0.889 | 0.02181 | 5.79 | 0.35 | 3 | Cortical Thickness Average of LeftParsOpercularis |
TrainFraction <- 0.60;
MCIPrognosisIDs <- c(MCIconverters$PTID,MCI_No_converters$PTID)
TADPOLECrossMRI <- validBaselineTadpole[MCIPrognosisIDs,]
table(TADPOLECrossMRI$DX)
Dementia MCI NL 0 680 0
TADPOLECrossMRI$DX <- NULL
TADPOLECrossMRI$status <- 1*(rownames(TADPOLECrossMRI) %in% MCIconverters$PTID)
table(TADPOLECrossMRI$status)
0 1 436 244
TADPOLECrossMRI$TimeToEvent <- numeric(nrow(TADPOLECrossMRI))
TADPOLECrossMRI[MCIconverters$PTID,"TimeToEvent"] <- MCIconverters$TimeToEvent
TADPOLECrossMRI[MCI_No_converters$PTID,"TimeToEvent"] <- MCI_No_converters$TimeToEvent
TADPOLE_Cases <- subset(TADPOLECrossMRI,status==1)
TADPOLE_Controls <- subset(TADPOLECrossMRI,status==0)
trainCasesSet <- sample(nrow(TADPOLE_Cases),nrow(TADPOLE_Cases)*TrainFraction)
trainControlSet <- sample(nrow(TADPOLE_Controls),nrow(TADPOLE_Controls)*TrainFraction)
TADPOLE_Conv_TRAIN <- rbind(TADPOLE_Cases[trainCasesSet,],TADPOLE_Controls[trainControlSet,])
TADPOLE_Conv_TEST <- TADPOLECrossMRI[!(rownames(TADPOLECrossMRI) %in%
rownames(TADPOLE_Conv_TRAIN)),]
pander::pander(table(TADPOLE_Conv_TRAIN$status))
| 0 | 1 |
|---|---|
| 261 | 146 |
pander::pander(table(TADPOLE_Conv_TEST$status))
| 0 | 1 |
|---|---|
| 175 | 98 |
par(op)
bConvml <- BSWiMS.model(Surv(TimeToEvent,status)~1,TADPOLE_Conv_TRAIN,NumberofRepeats = 20)
[++–++–+-+-++-++-+++-++-+-+++-++-++-++-++–+++-+–+++—+–+–++-+-+-+++-]….
pander::pander(bConvml$bagging$Jaccard.SM)
0.257
fs <- bConvml$bagging$frequencyTable
barplot(fs[order(-fs)],las=2,main="Selected Features",cex.names = 0.5)
sm <- summary(bConvml)
pander::pander(sm$coefficients)
| Estimate | lower | HR | upper | u.Accuracy | r.Accuracy | full.Accuracy | u.AUC | r.AUC | full.AUC | IDI | NRI | z.IDI | z.NRI | Delta.AUC | Frequency | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ADAS13 | 0.06013 | 1.05e+00 | 1.06e+00 | 1.08e+00 | 0.713 | 0.759 | 0.781 | 0.712 | 0.750 | 0.781 | 0.0853 | 0.635 | 8.67 | 7.69 | 0.030593 | 1.00 |
| M_ST24CV | -15.56540 | 4.49e-09 | 1.74e-07 | 6.72e-06 | 0.692 | 0.684 | 0.735 | 0.680 | 0.698 | 0.742 | 0.0690 | 0.657 | 8.14 | 8.01 | 0.044068 | 0.35 |
| RAVLT_immediate | -0.01969 | 9.75e-01 | 9.81e-01 | 9.86e-01 | 0.633 | 0.725 | 0.736 | 0.647 | 0.719 | 0.744 | 0.0895 | 0.624 | 7.78 | 7.61 | 0.025171 | 0.50 |
| ADAS11 | 0.02288 | 1.01e+00 | 1.02e+00 | 1.03e+00 | 0.687 | 0.706 | 0.747 | 0.674 | 0.710 | 0.749 | 0.0767 | 0.600 | 7.47 | 7.28 | 0.038270 | 0.75 |
| M_ST40SA | -3.62353 | 5.48e-03 | 2.67e-02 | 1.30e-01 | 0.622 | 0.732 | 0.734 | 0.621 | 0.740 | 0.741 | 0.0336 | 0.578 | 6.43 | 6.97 | 0.001001 | 0.40 |
| M_ST12SV | -12.77498 | 1.46e-08 | 2.83e-06 | 5.48e-04 | 0.695 | 0.731 | 0.748 | 0.697 | 0.727 | 0.751 | 0.0394 | 0.540 | 6.19 | 6.47 | 0.023798 | 0.75 |
| M_ST40CV | -16.30048 | 3.77e-12 | 8.33e-08 | 1.84e-03 | 0.704 | 0.763 | 0.781 | 0.692 | 0.759 | 0.781 | 0.0277 | 0.381 | 5.20 | 4.47 | 0.022549 | 1.00 |
| RAVLT_perc_forgetting | 0.00232 | 1.00e+00 | 1.00e+00 | 1.00e+00 | 0.671 | 0.777 | 0.779 | 0.682 | 0.775 | 0.779 | 0.0150 | 0.601 | 4.96 | 7.32 | 0.004889 | 0.90 |
| FAQ | 0.05881 | 1.02e+00 | 1.06e+00 | 1.10e+00 | 0.735 | 0.758 | 0.781 | 0.696 | 0.761 | 0.781 | 0.0315 | 0.492 | 4.78 | 6.10 | 0.020034 | 1.00 |
| RAVLT_forgetting | 0.01450 | 1.00e+00 | 1.01e+00 | 1.03e+00 | 0.563 | 0.737 | 0.736 | 0.578 | 0.744 | 0.744 | 0.0134 | 0.447 | 4.74 | 5.28 | 0.000192 | 0.30 |
| M_ST56CV | -6.06725 | 2.77e-05 | 2.32e-03 | 1.94e-01 | 0.656 | 0.759 | 0.765 | 0.652 | 0.755 | 0.766 | 0.0230 | 0.344 | 4.64 | 4.01 | 0.010988 | 0.50 |
| M_ST24SA | -9.47742 | 3.19e-08 | 7.66e-05 | 1.84e-01 | 0.595 | 0.777 | 0.781 | 0.596 | 0.775 | 0.782 | 0.0200 | 0.400 | 4.24 | 4.68 | 0.006677 | 0.85 |
| RD_ST65SV | -6.62059 | 4.08e-06 | 1.33e-03 | 4.35e-01 | 0.530 | 0.719 | 0.739 | 0.553 | 0.725 | 0.745 | 0.0192 | 0.359 | 4.18 | 4.24 | 0.020334 | 0.50 |
| RD_ST56TA | 2.57234 | 1.68e+00 | 1.31e+01 | 1.02e+02 | 0.604 | 0.738 | 0.736 | 0.574 | 0.751 | 0.743 | 0.0183 | 0.295 | 3.97 | 3.51 | -0.007372 | 0.25 |
| RD_ST31TA | 1.11643 | 1.15e+00 | 3.05e+00 | 8.09e+00 | 0.628 | 0.764 | 0.771 | 0.605 | 0.763 | 0.769 | 0.0134 | 0.343 | 3.54 | 4.05 | 0.006803 | 0.55 |
pander::pander(bConvml$univariate[bConvml$selectedfeatures,])
| Name | RName | ZUni | |
|---|---|---|---|
| ADAS13 | ADAS13 | ADAS13 | 11.01 |
| FAQ | FAQ | FAQ | 8.43 |
| M_ST40CV | M_ST40CV | M_ST40CV | 10.28 |
| M_ST24SA | M_ST24SA | M_ST24SA | 3.84 |
| RAVLT_perc_forgetting | RAVLT_perc_forgetting | RAVLT_perc_forgetting | 7.98 |
| ADAS11 | ADAS11 | ADAS11 | 9.67 |
| M_ST29SV | M_ST29SV | M_ST29SV | 9.26 |
| RD_ST31TA | RD_ST31TA | RD_ST31TA | 4.27 |
| M_ST12SV | M_ST12SV | M_ST12SV | 9.67 |
| M_ST56CV | M_ST56CV | M_ST56CV | 7.58 |
| RAVLT_immediate | RAVLT_immediate | RAVLT_immediate | 7.50 |
| M_ST40SA | M_ST40SA | M_ST40SA | 5.61 |
| RD_ST65SV | RD_ST65SV | RD_ST65SV | 1.74 |
| RAVLT_forgetting | RAVLT_forgetting | RAVLT_forgetting | 3.47 |
| M_ST24CV | M_ST24CV | M_ST24CV | 8.21 |
| M_ST13TA | M_ST13TA | M_ST13TA | 8.07 |
| RD_ST56TA | RD_ST56TA | RD_ST56TA | 3.22 |
| RD_ST49CV | RD_ST49CV | RD_ST49CV | 1.74 |
ptestl <- predict(bConvml,TADPOLE_Conv_TEST,type="lp")
boxplot(ptestl~TADPOLE_Conv_TEST$status)
ptestr <- predict(bConvml,TADPOLE_Conv_TEST,type="risk")
eventCases <- subset(TADPOLE_Conv_TEST,status==1)
plot(1.0/ptestr[rownames(eventCases)]~eventCases$TimeToEvent)
pander::pander(cor.test(eventCases$TimeToEvent,1.0/ptestr[rownames(eventCases)],method="spearman"))
| Test statistic | P value | Alternative hypothesis | rho |
|---|---|---|---|
| 110840 | 0.00337 * * | two.sided | 0.293 |
perdsurv <- cbind(TADPOLE_Conv_TEST$TimeToEvent,
TADPOLE_Conv_TEST$status,
ptestl,
ptestr)
prSurv <- predictionStats_survival(perdsurv,"MCI to AD Conversion")
pander::pander(prSurv$CIRisk)
| median | lower | upper |
|---|---|---|
| 0.829 | 0.793 | 0.865 |
pander::pander(prSurv$CILp)
| median | lower | upper |
|---|---|---|
| 0.86 | 0.813 | 0.903 |
pander::pander(prSurv$spearmanCI)
| 50% | 2.5% | 97.5% |
|---|---|---|
| 0.295 | 0.0855 | 0.488 |
prBin <- predictionStats_binary(cbind(TADPOLE_Conv_TEST$status,ptestl),"MCI to AD Conversion")
MCI to AD Conversion
pander::pander(prBin$aucs)
| est | lower | upper |
|---|---|---|
| 0.86 | 0.816 | 0.904 |
pander::pander(prBin$CM.analysis$tab)
| Outcome + | Outcome - | Total | |
|---|---|---|---|
| Test + | 78 | 38 | 116 |
| Test - | 20 | 137 | 157 |
| Total | 98 | 175 | 273 |
par(op)
cmax <- apply(bConvml$bagging$formulaNetwork,2,max)
cnames <- names(cmax[cmax>=0.25])
cmax <- cmax[cnames]
adma <- bConvml$bagging$formulaNetwork[cnames,cnames]
adma[adma<0.15] <- 0;
gr <- graph_from_adjacency_matrix(adma,mode = "undirected",diag = FALSE,weighted=TRUE)
gr$layout <- layout_with_fr
fc <- cluster_optimal(gr)
plot(fc, gr,
edge.width=5*E(gr)$weight,
vertex.size=20*cmax,
vertex.label.cex=0.75,
vertex.label.dist=0,
main="MCI to Dementia Conversion")
par(op)
clusterFeatures <- fc$names
tableMCI_to_Dem <- sm$coefficients[clusterFeatures,
c("Estimate",
"lower",
"HR",
"upper",
"full.AUC",
"Delta.AUC",
"z.IDI",
"Frequency")]
nugget <- fc$membership
names(nugget) <- clusterFeatures
tableMCI_to_Dem$Cluster <- nugget[rownames(tableMCI_to_Dem)]
rnames <- clusterFeatures[str_detect(clusterFeatures,"ST")]
frnames <- rnames
rnames <- str_replace_all(rnames,"M_","")
rnames <- str_replace_all(rnames,"RD_","")
rnames <- str_replace_all(rnames,"Ba_","")
rnames <- str_replace_all(rnames,"De_","")
description <- character()
for (ddet in c(1:length(rnames)))
{
description <- c(description,TADPOLE_D1_D2_Dict$TEXT[str_detect(TADPOLE_D1_D2_Dict$FLDNAME,rnames[ddet])][1])
}
names(description) <- frnames
tableMCI_to_Dem$Description <- description[rownames(tableMCI_to_Dem)]
pander::pander(tableMCI_to_Dem)
| Estimate | lower | HR | upper | full.AUC | Delta.AUC | z.IDI | Frequency | Cluster | Description | |
|---|---|---|---|---|---|---|---|---|---|---|
| ADAS13 | 0.06013 | 1.05e+00 | 1.06e+00 | 1.08e+00 | 0.781 | 0.030593 | 8.67 | 1.00 | 1 | NA |
| FAQ | 0.05881 | 1.02e+00 | 1.06e+00 | 1.10e+00 | 0.781 | 0.020034 | 4.78 | 1.00 | 1 | NA |
| M_ST40CV | -16.30048 | 3.77e-12 | 8.33e-08 | 1.84e-03 | 0.781 | 0.022549 | 5.20 | 1.00 | 1 | Volume (Cortical Parcellation) of LeftMiddleTemporal |
| M_ST24SA | -9.47742 | 3.19e-08 | 7.66e-05 | 1.84e-01 | 0.782 | 0.006677 | 4.24 | 0.85 | 1 | Surface Area of LeftEntorhinal |
| RAVLT_perc_forgetting | 0.00232 | 1.00e+00 | 1.00e+00 | 1.00e+00 | 0.779 | 0.004889 | 4.96 | 0.90 | 1 | NA |
| ADAS11 | 0.02288 | 1.01e+00 | 1.02e+00 | 1.03e+00 | 0.749 | 0.038270 | 7.47 | 0.75 | 2 | NA |
| RD_ST31TA | 1.11643 | 1.15e+00 | 3.05e+00 | 8.09e+00 | 0.769 | 0.006803 | 3.54 | 0.55 | 2 | Cortical Thickness Average of LeftInferiorParietal |
| M_ST12SV | -12.77498 | 1.46e-08 | 2.83e-06 | 5.48e-04 | 0.751 | 0.023798 | 6.19 | 0.75 | 2 | Volume (WM Parcellation) of LeftAmygdala |
| M_ST56CV | -6.06725 | 2.77e-05 | 2.32e-03 | 1.94e-01 | 0.766 | 0.010988 | 4.64 | 0.50 | 2 | Volume (Cortical Parcellation) of LeftSuperiorFrontal |
| RAVLT_immediate | -0.01969 | 9.75e-01 | 9.81e-01 | 9.86e-01 | 0.744 | 0.025171 | 7.78 | 0.50 | 3 | NA |
| M_ST40SA | -3.62353 | 5.48e-03 | 2.67e-02 | 1.30e-01 | 0.741 | 0.001001 | 6.43 | 0.40 | 3 | Surface Area of LeftMiddleTemporal |
| RD_ST65SV | -6.62059 | 4.08e-06 | 1.33e-03 | 4.35e-01 | 0.745 | 0.020334 | 4.18 | 0.50 | 3 | Volume (WM Parcellation) of LeftVentralDC |
| RAVLT_forgetting | 0.01450 | 1.00e+00 | 1.01e+00 | 1.03e+00 | 0.744 | 0.000192 | 4.74 | 0.30 | 3 | NA |
| M_ST24CV | -15.56540 | 4.49e-09 | 1.74e-07 | 6.72e-06 | 0.742 | 0.044068 | 8.14 | 0.35 | 3 | Volume (Cortical Parcellation) of LeftEntorhinal |
| RD_ST56TA | 2.57234 | 1.68e+00 | 1.31e+01 | 1.02e+02 | 0.743 | -0.007372 | 3.97 | 0.25 | 3 | Cortical Thickness Average of LeftSuperiorFrontal |